abstract struct Spectator::Matchers::Matcher


Common base class for all expectation conditions. A matcher looks at something produced by the SUT and evaluates whether it is correct or not.

Direct Known Subclasses

Defined in:



Instance Method Summary

Instance methods inherited from class Object

should(matcher : Spectator::Matchers::TypeMatcher(U), message = nil, *, _file = __FILE__, _line = __LINE__) forall U
should(matcher, message = nil, *, _file = __FILE__, _line = __LINE__)
, should_eventually(matcher, message = nil, *, _file = __FILE__, _line = __LINE__) should_eventually, should_never(matcher, message = nil, *, _file = __FILE__, _line = __LINE__) should_never, should_not(matcher : Spectator::Matchers::TypeMatcher(U), message = nil, *, _file = __FILE__, _line = __LINE__) forall U
should_not(matcher : Spectator::Matchers::NilMatcher, message = nil, *, _file = __FILE__, _line = __LINE__)
should_not(matcher, message = nil, *, _file = __FILE__, _line = __LINE__)

Constructor Detail

def self.new #

[View source]

Instance Method Detail

abstract def description : String #

Short text about the matcher's purpose. This explains what condition satisfies the matcher. The description is used when the one-liner syntax is used.

it { is_expected.to do_something }

The phrasing should be such that it reads "it ___." where the blank is what is returned by this method.

[View source]
def initialize #

[View source]
abstract def match(actual : Expression(T)) : MatchData forall T #

Actually performs the test against the expression (value or block).

[View source]
abstract def negated_match(actual : Expression(T)) : MatchData forall T #

Performs the test against the expression (value or block), but inverted. A successful match with #match should normally fail for this method, and vice-versa.

[View source]