Skip to content

Commit 4e02b17

Browse files
authored
Merge pull request #659 from deohtee/triangle-provide-params
Provide parameters in test failure message for Triangle exercise
2 parents 17c2b1f + 55c0c6f commit 4e02b17

File tree

2 files changed

+27
-19
lines changed

2 files changed

+27
-19
lines changed

exercises/triangle/.meta/generator/triangle_case.rb

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,19 @@ def indent(line)
2424
end
2525

2626
def failure_message
27-
%Q("Expected '#{expected}', #{expected_type}.")
27+
%Q("Expected '#{expected}', #{expected_triangle}.")
2828
end
2929

3030
def expected_type
31-
"triangle is #{expected ? '' : 'not '}#{property}"
31+
"triangle is #{type}"
32+
end
33+
34+
def expected_triangle
35+
"triangle #{sides} is #{type}"
36+
end
37+
38+
def type
39+
"#{expected ? '' : 'not ' }#{property}"
3240
end
3341

3442
end

exercises/triangle/triangle_test.rb

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,103 +7,103 @@ class TriangleTest < Minitest::Test
77
def test_triangle_is_equilateral_if_all_sides_are_equal
88
# skip
99
triangle = Triangle.new([2, 2, 2])
10-
assert triangle.equilateral?, "Expected 'true', triangle is equilateral."
10+
assert triangle.equilateral?, "Expected 'true', triangle [2, 2, 2] is equilateral."
1111
end
1212

1313
def test_triangle_is_not_equilateral_if_any_side_is_unequal
1414
skip
1515
triangle = Triangle.new([2, 3, 2])
16-
refute triangle.equilateral?, "Expected 'false', triangle is not equilateral."
16+
refute triangle.equilateral?, "Expected 'false', triangle [2, 3, 2] is not equilateral."
1717
end
1818

1919
def test_triangle_is_not_equilateral_if_no_sides_are_equal
2020
skip
2121
triangle = Triangle.new([5, 4, 6])
22-
refute triangle.equilateral?, "Expected 'false', triangle is not equilateral."
22+
refute triangle.equilateral?, "Expected 'false', triangle [5, 4, 6] is not equilateral."
2323
end
2424

2525
def test_all_zero_sides_are_illegal_so_the_triangle_is_not_equilateral
2626
skip
2727
triangle = Triangle.new([0, 0, 0])
28-
refute triangle.equilateral?, "Expected 'false', triangle is not equilateral."
28+
refute triangle.equilateral?, "Expected 'false', triangle [0, 0, 0] is not equilateral."
2929
end
3030

3131
def test_equilateral_triangle_sides_may_be_floats
3232
skip
3333
triangle = Triangle.new([0.5, 0.5, 0.5])
34-
assert triangle.equilateral?, "Expected 'true', triangle is equilateral."
34+
assert triangle.equilateral?, "Expected 'true', triangle [0.5, 0.5, 0.5] is equilateral."
3535
end
3636

3737
def test_triangle_is_isosceles_if_last_two_sides_are_equal
3838
skip
3939
triangle = Triangle.new([3, 4, 4])
40-
assert triangle.isosceles?, "Expected 'true', triangle is isosceles."
40+
assert triangle.isosceles?, "Expected 'true', triangle [3, 4, 4] is isosceles."
4141
end
4242

4343
def test_triangle_is_isosceles_if_first_two_sides_are_equal
4444
skip
4545
triangle = Triangle.new([4, 4, 3])
46-
assert triangle.isosceles?, "Expected 'true', triangle is isosceles."
46+
assert triangle.isosceles?, "Expected 'true', triangle [4, 4, 3] is isosceles."
4747
end
4848

4949
def test_triangle_is_isosceles_if_first_and_last_sides_are_equal
5050
skip
5151
triangle = Triangle.new([4, 3, 4])
52-
assert triangle.isosceles?, "Expected 'true', triangle is isosceles."
52+
assert triangle.isosceles?, "Expected 'true', triangle [4, 3, 4] is isosceles."
5353
end
5454

5555
def test_equilateral_triangles_are_also_isosceles
5656
skip
5757
triangle = Triangle.new([4, 4, 4])
58-
assert triangle.isosceles?, "Expected 'true', triangle is isosceles."
58+
assert triangle.isosceles?, "Expected 'true', triangle [4, 4, 4] is isosceles."
5959
end
6060

6161
def test_triangle_is_not_isosceles_if_no_sides_are_equal
6262
skip
6363
triangle = Triangle.new([2, 3, 4])
64-
refute triangle.isosceles?, "Expected 'false', triangle is not isosceles."
64+
refute triangle.isosceles?, "Expected 'false', triangle [2, 3, 4] is not isosceles."
6565
end
6666

6767
def test_sides_that_violate_triangle_inequality_are_not_isosceles_even_if_two_are_equal
6868
skip
6969
triangle = Triangle.new([1, 1, 3])
70-
refute triangle.isosceles?, "Expected 'false', triangle is not isosceles."
70+
refute triangle.isosceles?, "Expected 'false', triangle [1, 1, 3] is not isosceles."
7171
end
7272

7373
def test_isosceles_triangle_sides_may_be_floats
7474
skip
7575
triangle = Triangle.new([0.5, 0.4, 0.5])
76-
assert triangle.isosceles?, "Expected 'true', triangle is isosceles."
76+
assert triangle.isosceles?, "Expected 'true', triangle [0.5, 0.4, 0.5] is isosceles."
7777
end
7878

7979
def test_triangle_is_scalene_if_no_sides_are_equal
8080
skip
8181
triangle = Triangle.new([5, 4, 6])
82-
assert triangle.scalene?, "Expected 'true', triangle is scalene."
82+
assert triangle.scalene?, "Expected 'true', triangle [5, 4, 6] is scalene."
8383
end
8484

8585
def test_triangle_is_not_scalene_if_all_sides_are_equal
8686
skip
8787
triangle = Triangle.new([4, 4, 4])
88-
refute triangle.scalene?, "Expected 'false', triangle is not scalene."
88+
refute triangle.scalene?, "Expected 'false', triangle [4, 4, 4] is not scalene."
8989
end
9090

9191
def test_triangle_is_not_scalene_if_two_sides_are_equal
9292
skip
9393
triangle = Triangle.new([4, 4, 3])
94-
refute triangle.scalene?, "Expected 'false', triangle is not scalene."
94+
refute triangle.scalene?, "Expected 'false', triangle [4, 4, 3] is not scalene."
9595
end
9696

9797
def test_sides_that_violate_triangle_inequality_are_not_scalene_even_if_they_are_all_different
9898
skip
9999
triangle = Triangle.new([7, 3, 2])
100-
refute triangle.scalene?, "Expected 'false', triangle is not scalene."
100+
refute triangle.scalene?, "Expected 'false', triangle [7, 3, 2] is not scalene."
101101
end
102102

103103
def test_scalene_triangle_sides_may_be_floats
104104
skip
105105
triangle = Triangle.new([0.5, 0.4, 0.6])
106-
assert triangle.scalene?, "Expected 'true', triangle is scalene."
106+
assert triangle.scalene?, "Expected 'true', triangle [0.5, 0.4, 0.6] is scalene."
107107
end
108108

109109
# Problems in exercism evolve over time, as we find better ways to ask

0 commit comments

Comments
 (0)