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.cr

Constructors

Instance Method Summary

Instance methods inherited from struct Spectator::Matchers::Matcher

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 U
should(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

def self.new(expected : Value(ExpectedType)) #

Creates the matcher with an expected value.


[View source]

Instance Method Detail

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.


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

Actually performs the test against the expression.


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

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


[View source]