abstract struct Spectator::Matchers::ValueMatcher(ExpectedType)

Overview

Category of matcher that uses a value. Matchers of this type expect that a SUT applies to the value in some way.

Matchers based on this class need to define #match? and #failure_message. If the matcher can be negated, the #failure_message_when_negated method needs to be overriden. Additionally, the #does_not_match? method can be specified if there's custom behavior for negated matches. If the matcher operates on or has extra data that is useful for debug, then the #values and #negated_values methods can be overriden. Finally, define a #description message that can be used for the one-liner "it" syntax.

The failure messages should typically only contain the test expression labels. Actual values should be returned by #values and #negated_values.

Direct Known Subclasses

Defined in:

spectator/matchers/value_matcher.cr

Constructors

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

match(actual : Expression(T)) : MatchData forall T match, negated_match(actual : Expression(T)) : MatchData forall T negated_match

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

description : String description, 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, message = nil) should, should_eventually(matcher, message = nil) should_eventually, should_never(matcher, message = nil) should_never, should_not(matcher, message = nil) should_not

Constructor Detail

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

Creates the value matcher. The expected value is stored for later use.


[View source]