structure_compare 0.1.5 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6ccf54b4f42263485c1a93a50989e69b82d40e91
4
- data.tar.gz: a0a85c991d901feb6fdfae988df7e48c07d628d6
3
+ metadata.gz: c7e3a4d3ba5b971952f4c8b36cbc5625eddeef86
4
+ data.tar.gz: 696b6e7775ff575315164a84cd4156082f12d369
5
5
  SHA512:
6
- metadata.gz: c1d25d9ddf2945090a8b9cb534e63dce989e241199e72145a8caf374fab5325afc4afab9c7acdd05fe88cd4af187d4f6a358ad728ed082b75348a96c2241a79d
7
- data.tar.gz: f2ef2e68269c3f9a9555214189d98e25e849d2e7db6ecf706daa80ae5999d3f5dc42df529d80b4956c71f53499c55e47756e89b23e0d5f83335c4e5e48a29433
6
+ metadata.gz: a6ede945d269bfdebb0eb77783a9a3797d426e0b0198a3b801fd7b076be9790ac2f6116ac6282098b3af3ce5373108abb08a9eaa6af54348b026278a962d450e
7
+ data.tar.gz: dcead81b09f0223e65cc5a7120cbdf4059ec2c2a085c3170ae3ab4c1178915dbed9ae53b14c04f794e8a8a5e2b14e4fee23b5f4f2d2fe47ec76025ed9dd32fe5
@@ -92,16 +92,16 @@ module StructureCompare
92
92
 
93
93
  if @options[:strict_key_order]
94
94
  if expected_keys != actual_keys
95
- not_equal_error!(expected_keys, actual_keys, failure_message)
95
+ not_equal_error!(failure_message)
96
96
  end
97
97
  else
98
98
  # NOTE: first did this with sorting, but can't sort mixed type keys
99
99
  all_keys_present = (
100
- expected_keys.all?{ |key| actual.has_key?(key) } &&
101
- actual_keys.all?{ |key| expected.has_key?(key) }
100
+ expected_keys.all?{ |key| actual_keys.include?(key) } &&
101
+ actual_keys.all?{ |key| expected_keys.include?(key) }
102
102
  )
103
103
  if !all_keys_present
104
- not_equal_error!(expected_keys, actual_keys, failure_message)
104
+ not_equal_error!(failure_message)
105
105
  end
106
106
  end
107
107
  end
@@ -113,7 +113,7 @@ module StructureCompare
113
113
  def check_kind_of!(expected, actual)
114
114
  unless actual.kind_of?(expected.class)
115
115
  failure_message = "expected #{actual.class.to_s} to be kind of #{expected.class.to_s}"
116
- not_equal_error!(expected, actual, failure_message)
116
+ not_equal_error!(failure_message)
117
117
  end
118
118
  end
119
119
 
@@ -128,7 +128,7 @@ module StructureCompare
128
128
 
129
129
  if !is_equal
130
130
  failure_message ||= "expected: #{expected.inspect}, got: #{actual.inspect}"
131
- not_equal_error!(expected, actual, failure_message)
131
+ not_equal_error!(failure_message)
132
132
  end
133
133
  end
134
134
 
@@ -142,7 +142,7 @@ module StructureCompare
142
142
  end
143
143
 
144
144
  # TODO make this part of an overridden exception?
145
- def not_equal_error!(expected, actual, failure_message)
145
+ def not_equal_error!(failure_message)
146
146
  @error = failure_message
147
147
  raise StructuresNotEqualError.new() # TODO error message, path
148
148
  end
@@ -1,3 +1,3 @@
1
1
  module StructureCompare
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
@@ -17,6 +17,12 @@ class StructureCompareTest < MiniTest::Test
17
17
  assert_structures_equal({a: 1, b: 2}, {b: 2, a: 1})
18
18
  assert_structures_equal({a: 1, b: 2}, {b: 2, a: 1}, strict_key_order: false)
19
19
  refute_structures_equal({a: 1, b: 2}, {b: 2, a: 1}, strict_key_order: true)
20
+
21
+ # this was a bug with combining relaxed key order and indifferent access
22
+ assert_structures_equal(
23
+ {a: 1, b: 2}, {"b": 2, "a": 1},
24
+ strict_key_order: false, indifferent_access: true
25
+ )
20
26
  end
21
27
 
22
28
  def test_compares_leaf_value_types
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: structure_compare
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markus Seeger