Class: RSpec::Matchers::BuiltIn::BeComparedTo

Inherits:
Be show all
Defined in:
lib/rspec/matchers/built_in/be.rb

Constant Summary

Constant Summary

Constants inherited from BaseMatcher

RSpec::Matchers::BuiltIn::BaseMatcher::UNDEFINED

Instance Attribute Summary

Attributes inherited from BaseMatcher

#actual, #expected, #rescued_exception

Instance Method Summary (collapse)

Methods inherited from Be

#match

Methods inherited from BaseMatcher

#==, #diffable?, #match_unless_raises

Methods included from Pretty

#_pretty_print, #expected_to_sentence, #name, #name_to_sentence, #split_words, #to_sentence, #to_word, #underscore

Constructor Details

- (BeComparedTo) initialize(operand, operator)

A new instance of BeComparedTo

99
100
101
102
# File 'lib/rspec/matchers/built_in/be.rb', line 99
def initialize(operand, operator)
  @expected, @operator = operand, operator
    @args = []
end

Instance Method Details

- (Object) description

124
125
126
# File 'lib/rspec/matchers/built_in/be.rb', line 124
def description
  "be #{@operator} #{expected_to_sentence}#{args_to_sentence}"
end

- (Object) failure_message_for_should

109
110
111
# File 'lib/rspec/matchers/built_in/be.rb', line 109
def failure_message_for_should
  "expected: #{@operator} #{@expected.inspect}\n     got: #{@operator.to_s.gsub(/./, ' ')} #{@actual.inspect}"
end

- (Object) failure_message_for_should_not

113
114
115
116
117
118
119
120
121
122
# File 'lib/rspec/matchers/built_in/be.rb', line 113
def failure_message_for_should_not
  message = <<-MESSAGE
`#{negative_expectation_expression}` not only FAILED,
it is a bit confusing.
  MESSAGE

  raise message << ([:===,:==].include?(@operator) ?
                    "It might be more clearly expressed without the \"be\"?" :
                    "It might be more clearly expressed in the positive?")
end

- (Boolean) matches?(actual)

Returns:

  • (Boolean)
104
105
106
107
# File 'lib/rspec/matchers/built_in/be.rb', line 104
def matches?(actual)
  @actual = actual
  @actual.__send__ @operator, @expected
end

- (Object) negative_expectation_expression

128
129
130
# File 'lib/rspec/matchers/built_in/be.rb', line 128
def negative_expectation_expression
  Expectations::Syntax.negative_expression("actual", "be #{@operator} #{@expected}")
end