class EzcaterMatchers::MismatchedCollectionFailure
Attributes
actual[R]
expected[R]
message[R]
Public Class Methods
new(actual:, expected:)
click to toggle source
# File lib/ezcater_matchers/mismatched_collection_failure.rb, line 7 def initialize(actual:, expected:) @actual = actual @expected = expected @message = message_array.join("\n") end
Private Instance Methods
extra_elements()
click to toggle source
# File lib/ezcater_matchers/mismatched_collection_failure.rb, line 29 def extra_elements @_extra_elements ||= actual - expected end
extra_elements_message()
click to toggle source
# File lib/ezcater_matchers/mismatched_collection_failure.rb, line 25 def extra_elements_message "the extra elements were: #{extra_elements}" end
message_array()
click to toggle source
# File lib/ezcater_matchers/mismatched_collection_failure.rb, line 17 def message_array [].tap do |messages| messages.push(extra_elements_message) if extra_elements.any? messages.push(missing_elements_message) if missing_elements.any? messages.push(unexpected_order_message) if missing_elements.empty? && extra_elements.empty? end end
missing_elements()
click to toggle source
# File lib/ezcater_matchers/mismatched_collection_failure.rb, line 37 def missing_elements @_missing_elements ||= expected - actual end
missing_elements_message()
click to toggle source
# File lib/ezcater_matchers/mismatched_collection_failure.rb, line 33 def missing_elements_message "the missing elements were: #{missing_elements}" end
unexpected_order_message()
click to toggle source
# File lib/ezcater_matchers/mismatched_collection_failure.rb, line 41 def unexpected_order_message "the elements are not in the expected order" end