class EqualJsonArrayWithKey
Attributes
actual[RW]
expected[RW]
key[RW]
Public Class Methods
new(expected, key)
click to toggle source
# File lib/eq_json_array_with_key.rb, line 11 def initialize(expected, key) unless key.is_a? Symbol raise "Key should be a symbol" end @expected = expected @key = key @messageGenerator = ArrayWithKeyMessageGen.new(self) end
Public Instance Methods
failure_message()
click to toggle source
# File lib/eq_json_array_with_key.rb, line 49 def failure_message return @failureMessage end
matches?(actual)
click to toggle source
# File lib/eq_json_array_with_key.rb, line 20 def matches?(actual) @actual = actual unless actual.length == expected.length @failureMessage = @messageGenerator.generateDifferentSizeArrays() return false end @expected.each() do |expectedItem| if expectedItem[@key].nil? @failureMessage = @messageGenerator.generateExpectedItemMissingKey(expectedItem) return false end actualItem = actual.find {|item| item[@key] == expectedItem[@key]} if actualItem.nil? @failureMessage = @messageGenerator.generateExpectedNotInActual(expectedItem) return false; end @eqJsonMatcher=EqualJson.new(expectedItem) if !@eqJsonMatcher.matches?(actualItem) @failureMessage = @messageGenerator.generateFailureMessage(expectedItem, @eqJsonMatcher.failure_message) return false; end end return true; end