struct Spectator::Matchers::AttributesMatcher(ExpectedType)
Overview
Matcher that tests that multiple attributes match specified conditions.
The attributes are tested with the === operator.
The ExpectedType
type param should be a NamedTuple
.
Each key in the tuple is the attribute/method name,
and the corresponding value is the expected value to match against.
Defined in:
spectator/matchers/attributes_matcher.crConstructors
-
.new(expected : Value(ExpectedType))
Creates the matcher with an expected value.
Instance Method Summary
-
#description : String
Short text about the matcher's purpose.
-
#match(actual : Expression(T)) : MatchData forall T
Actually performs the test against the expression.
-
#negated_match(actual : Expression(T)) : MatchData forall T
Performs the test against the expression, but inverted.
Instance methods inherited from struct Spectator::Matchers::Matcher
===(actual : Expression(T)) : Bool===(other) : Bool ===, description : String description, initialize initialize, match(actual : Expression(T)) : MatchData forall T match, negated_match(actual : Expression(T)) : MatchData forall T negated_match
Constructor methods inherited from struct Spectator::Matchers::Matcher
new
new
Instance methods inherited from class Object
should(matcher : Spectator::Matchers::TypeMatcher(U), message = nil, *, _file = __FILE__, _line = __LINE__) forall Ushould(matcher, message = nil, *, _file = __FILE__, _line = __LINE__) should, 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__) should_not
Constructor Detail
Creates the matcher with an expected value.
Instance Method Detail
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.
Actually performs the test against the expression.
Performs the test against the expression, but inverted.
A successful match with #match
should normally fail for this method, and vice-versa.