class Object

Public Instance Methods

arrays_match?(actual, expected) click to toggle source
# File lib/eq_wo_order.rb, line 21
def arrays_match?(actual, expected)
  return false unless actual.length == expected.length
  expected.all? do |expected_item|
    actual.any? do |candidate|
      eq_wo_order(candidate, expected_item)
    end
  end
end
eq_wo_order(actual, expected) click to toggle source
# File lib/eq_wo_order.rb, line 8
def eq_wo_order(actual, expected)
  return false unless actual.class == expected.class

  case actual
    when Array
      arrays_match?(actual, expected)
    when Hash
      hashes_match?(actual, expected)
    else
      actual == expected
  end
end
hashes_match?(actual, expected) click to toggle source
# File lib/eq_wo_order.rb, line 30
def hashes_match?(actual, expected)
  return false unless arrays_match?(actual.keys, expected.keys)
  expected.all? do |expected_key, expected_value|
    eq_wo_order(actual[expected_key], expected_value)
  end
end