Manually initialize a new ShouldType value from an existing one's ref count. All ShouldTypes of one phrase must use the same reference counter.
Evaluates to true if the given word exists in the current phrase.
Add a word to the phrase. Can be chained.
Checks a boolean condition for truth, throwing an exception when it fails. The components making up the exception string are passed lazily. The message has the form: "Test failed: expected {expected}[ because reason], but got {butGot}" For instance: "Test failed: expected got.empty() because there should be nothing in there, but got [5]." In that case, expected is "got.empty()" and butGot is "[5]".
Mark that the semantic end of this phrase has been reached. If this is not called, the phrase will error on scope exit.
Allows to check that only a select list of words are permitted before the current word. On failure, an informative error is printed. Usage: should.allowOnlyWords!("word1", "word2").before!"newWord";
Allows to check that a specified word appeared in the phrase before the current word. On failure, an informative error is printed. Usage: should.requireWord!"word".before!"newWord";
ShouldType is the base type passed between UFCS words in fluent assertions. It stores the left-hand side expression of the phrase, called "got" in errors, as well as the words making up the assertion phrase as template arguments.