Skip to content

Commit 123a2f9

Browse files
Test commutativity in be and eq expectations
1 parent 592fd9c commit 123a2f9

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

src/spec/expectations.cr

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ module Spec
1616
actual_value.bytesize == expected_value.bytesize &&
1717
actual_value.size == expected_value.size
1818
else
19-
actual_value == @expected_value
19+
actual_value == @expected_value && @expected_value == actual_value
2020
end
2121
end
2222

@@ -46,7 +46,10 @@ module Spec
4646
expected += " : #{@expected_value.class}"
4747
got += " : #{actual_value.class}"
4848
end
49-
"Expected: #{expected}\n got: #{got}"
49+
if actual_value == @expected_value
50+
inverse = "The commutative operation #{@expected_value.class}#==(#{actual_value.class}) failed.\n"
51+
end
52+
"#{inverse}Expected: #{expected}\n got: #{got}"
5053
end
5154
end
5255

@@ -192,13 +195,13 @@ module Spec
192195
def match(actual_value)
193196
case @op
194197
in .less_than?
195-
actual_value < @expected_value
198+
actual_value < @expected_value > actual_value
196199
in .less_or_equal?
197-
actual_value <= @expected_value
200+
actual_value <= @expected_value >= actual_value
198201
in .greater_than?
199-
actual_value > @expected_value
202+
actual_value > @expected_value < actual_value
200203
in .greater_or_equal?
201-
actual_value >= @expected_value
204+
actual_value >= @expected_value <= actual_value
202205
end
203206
end
204207

0 commit comments

Comments
 (0)