struct Spectator::Matchers::ChangeToMatcher(ExpressionType, ToType)

Overview

Matcher that tests whether an expression changed to a specific value.

Defined in:

spectator/matchers/change_to_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(expression : Block(ExpressionType), expected : ToType) #

Creates a new change matcher.


[View source]

Instance Method Detail

def by(amount) #

Specifies how much the initial value should change by.


[View source]
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 from(value) #

Specifies what the initial value of the expression must be.


[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 #

Negated matching for this matcher is not supported. Attempting to call this method will result in a compilation error.

This syntax has a logical problem. "The action does not change the expression to some value." Is it a failure if the value is not changed, but it is the expected value?

RSpec doesn't support this syntax either.


[View source]