From 4b1c073f339953d6e6f81072e811c67150609606 Mon Sep 17 00:00:00 2001 From: Stigjb Date: Thu, 23 May 2019 11:46:06 +0200 Subject: [PATCH 1/2] triangle: Update function and test names Brings the exercise in line with canonical-data 1.2.1 --- exercises/triangle/example.py | 8 ++--- exercises/triangle/triangle.py | 6 ++-- exercises/triangle/triangle_test.py | 46 ++++++++++++++--------------- 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/exercises/triangle/example.py b/exercises/triangle/example.py index 36441c2b54..bb46fd40d6 100644 --- a/exercises/triangle/example.py +++ b/exercises/triangle/example.py @@ -5,16 +5,16 @@ def valid(sides): ) -def is_equilateral(sides): +def equilateral(sides): return valid(sides) and all(sides[0] == s for s in sides) -def is_isosceles(sides): +def isosceles(sides): return ( valid(sides) and any(s1 == s2 for s1, s2 in zip(sorted(sides), sorted(sides)[1:])) ) -def is_scalene(sides): - return valid(sides) and not is_isosceles(sides) +def scalene(sides): + return valid(sides) and not isosceles(sides) diff --git a/exercises/triangle/triangle.py b/exercises/triangle/triangle.py index 9e3d5cf341..3d088c774e 100644 --- a/exercises/triangle/triangle.py +++ b/exercises/triangle/triangle.py @@ -1,10 +1,10 @@ -def is_equilateral(sides): +def equilateral(sides): pass -def is_isosceles(sides): +def isosceles(sides): pass -def is_scalene(sides): +def scalene(sides): pass diff --git a/exercises/triangle/triangle_test.py b/exercises/triangle/triangle_test.py index 1a61dd1dd4..0bd4097c9a 100644 --- a/exercises/triangle/triangle_test.py +++ b/exercises/triangle/triangle_test.py @@ -1,71 +1,71 @@ import unittest -from triangle import is_equilateral, is_isosceles, is_scalene +from triangle import equilateral, isosceles, scalene # Tests adapted from `problem-specifications//canonical-data.json` @ v1.2.1 -class is_equilateralTests(unittest.TestCase): +class TestEquilateralTriangle(unittest.TestCase): def test_all_sides_are_equal(self): - self.assertIs(is_equilateral([2, 2, 2]), True) + self.assertIs(equilateral([2, 2, 2]), True) def test_any_side_is_unequal(self): - self.assertIs(is_equilateral([2, 3, 2]), False) + self.assertIs(equilateral([2, 3, 2]), False) def test_no_sides_are_equal(self): - self.assertIs(is_equilateral([5, 4, 6]), False) + self.assertIs(equilateral([5, 4, 6]), False) def test_all_zero_sides_is_not_a_triangle(self): - self.assertIs(is_equilateral([0, 0, 0]), False) + self.assertIs(equilateral([0, 0, 0]), False) def test_sides_may_be_floats(self): - self.assertIs(is_equilateral([0.5, 0.5, 0.5]), True) + self.assertIs(equilateral([0.5, 0.5, 0.5]), True) -class is_isoscelesTests(unittest.TestCase): +class TestIsoscelesTriangle(unittest.TestCase): def test_last_two_sides_are_equal(self): - self.assertIs(is_isosceles([3, 4, 4]), True) + self.assertIs(isosceles([3, 4, 4]), True) def test_first_two_sides_are_equal(self): - self.assertIs(is_isosceles([4, 4, 3]), True) + self.assertIs(isosceles([4, 4, 3]), True) def test_first_and_last_sides_are_equal(self): - self.assertIs(is_isosceles([4, 3, 4]), True) + self.assertIs(isosceles([4, 3, 4]), True) def test_equilateral_triangles_are_also_isosceles(self): - self.assertIs(is_isosceles([4, 4, 4]), True) + self.assertIs(isosceles([4, 4, 4]), True) def test_no_sides_are_equal(self): - self.assertIs(is_isosceles([2, 3, 4]), False) + self.assertIs(isosceles([2, 3, 4]), False) def test_first_triangle_inequality_violation(self): - self.assertIs(is_isosceles([1, 1, 3]), False) + self.assertIs(isosceles([1, 1, 3]), False) def test_second_triangle_inequality_violation(self): - self.assertIs(is_isosceles([1, 3, 1]), False) + self.assertIs(isosceles([1, 3, 1]), False) def test_third_triangle_inequality_violation(self): - self.assertIs(is_isosceles([3, 1, 1]), False) + self.assertIs(isosceles([3, 1, 1]), False) def test_sides_may_be_floats(self): - self.assertIs(is_isosceles([0.5, 0.4, 0.5]), True) + self.assertIs(isosceles([0.5, 0.4, 0.5]), True) -class is_scaleneTests(unittest.TestCase): +class TestScaleneTriangle(unittest.TestCase): def test_no_sides_are_equal(self): - self.assertIs(is_scalene([5, 4, 6]), True) + self.assertIs(scalene([5, 4, 6]), True) def test_all_sides_are_equal(self): - self.assertIs(is_scalene([4, 4, 4]), False) + self.assertIs(scalene([4, 4, 4]), False) def test_two_sides_are_equal(self): - self.assertIs(is_scalene([4, 4, 3]), False) + self.assertIs(scalene([4, 4, 3]), False) def test_may_not_violate_triangle_inequality(self): - self.assertIs(is_scalene([7, 3, 2]), False) + self.assertIs(scalene([7, 3, 2]), False) def test_sides_may_be_floats(self): - self.assertIs(is_scalene([0.5, 0.4, 0.6]), True) + self.assertIs(scalene([0.5, 0.4, 0.6]), True) if __name__ == '__main__': From 986deff0c5c349f33353ddbe64a7430d18f6eff7 Mon Sep 17 00:00:00 2001 From: Stigjb Date: Thu, 23 May 2019 11:48:05 +0200 Subject: [PATCH 2/2] triangle: Format with Black --- exercises/triangle/example.py | 10 ++++------ exercises/triangle/triangle_test.py | 3 ++- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/exercises/triangle/example.py b/exercises/triangle/example.py index bb46fd40d6..063dfec207 100644 --- a/exercises/triangle/example.py +++ b/exercises/triangle/example.py @@ -1,7 +1,6 @@ def valid(sides): - return ( - sum(sorted(sides)[:2]) >= sorted(sides)[2] and - all(s > 0 for s in sides) + return sum(sorted(sides)[:2]) >= sorted(sides)[2] and all( + s > 0 for s in sides ) @@ -10,9 +9,8 @@ def equilateral(sides): def isosceles(sides): - return ( - valid(sides) and - any(s1 == s2 for s1, s2 in zip(sorted(sides), sorted(sides)[1:])) + return valid(sides) and any( + s1 == s2 for s1, s2 in zip(sorted(sides), sorted(sides)[1:]) ) diff --git a/exercises/triangle/triangle_test.py b/exercises/triangle/triangle_test.py index 0bd4097c9a..1221e4c271 100644 --- a/exercises/triangle/triangle_test.py +++ b/exercises/triangle/triangle_test.py @@ -5,6 +5,7 @@ # Tests adapted from `problem-specifications//canonical-data.json` @ v1.2.1 + class TestEquilateralTriangle(unittest.TestCase): def test_all_sides_are_equal(self): self.assertIs(equilateral([2, 2, 2]), True) @@ -68,5 +69,5 @@ def test_sides_may_be_floats(self): self.assertIs(scalene([0.5, 0.4, 0.6]), True) -if __name__ == '__main__': +if __name__ == "__main__": unittest.main()