Beispiel #1
0
 def test_bad_inputs(self):
     """testing invalid inputs, all these should return None
 """
     self.assertEqual(__NONE__, classify_triangle(-1, 4, 4))
     self.assertEqual(__NONE__, classify_triangle(4, -1, 4))
     self.assertEqual(__NONE__, classify_triangle(4, 4, -1))
     self.assertEqual(__NONE__, classify_triangle([4], 2, 1))
     self.assertEqual(__NONE__, classify_triangle(4, False, 1))
     self.assertEqual(__NONE__, classify_triangle(4, 2, True))
     #BUG: this will fail on purpose
     self.assertEqual(__NONE__, classify_triangle(4, 0, 4))
 def test_invalid_input(self):
     """ Test methods for InvalidInput """
     self.assertEqual(classify_triangle(-4, -6, -7), 'InvalidInput')
     self.assertEqual(classify_triangle(200, 200, -300), 'InvalidInput')
     self.assertEqual(classify_triangle(3, 'x', 4), 'InvalidInput')
     self.assertEqual(classify_triangle('x', 'y', 'z'), 'InvalidInput')
     self.assertEqual(classify_triangle('x', 1, -1), 'InvalidInput')
     self.assertEqual(classify_triangle(-4, 'y', 'z'), 'InvalidInput')
    def test_right_triangle(self):
        """ Test methods for Right [Scalene, Isosceles] triangle """
        self.assertEqual(classify_triangle(3, 4, 5), 'Right Scalene')
        self.assertEqual(classify_triangle(10, 6, 8), 'Right Scalene')
        self.assertEqual(classify_triangle(24, 25, 7), 'Right Scalene')

        self.assertEqual(classify_triangle(5, 5, 7.07106781187), 'Right Isosceles')
        self.assertEqual(classify_triangle(8, 11.313708499, 8), 'Right Isosceles')
        self.assertEqual(classify_triangle(14.1421356237, 10, 10), 'Right Isosceles')
Beispiel #4
0
 def test_scalene(self):
     """test scalene triangles
 """
     self.assertEqual(__SCALENE__, classify_triangle(4, 5, 6))
     self.assertEqual(__SCALENE__, classify_triangle(0.4, 0.5, 0.6))
Beispiel #5
0
 def test_precision_equilateral(self):
     """ensure code is precise to only 2 decimal places for equilateral triangles
 """
     self.assertEqual(__EQUILATERAL__,
                      classify_triangle(4.001, 4.002, 4.003))
Beispiel #6
0
 def test_precision_scalene(self):
     """ensure code is precise to only 2 decimal places for scalene triangles
 """
     self.assertEqual(__SCALENE__,
                      classify_triangle(0.44444, 0.555555, 0.666666))
Beispiel #7
0
 def test_precision_right(self):
     """ensure code is precise to only 2 decimal places for right triangles
 """
     self.assertEqual(__RIGHT__,
                      classify_triangle(0.25001111, 0.400111, 0.47111111))
Beispiel #8
0
 def test_precision_isosolese(self):
     """ensure code is precise to only 2 decimal places for isosolese triangles
 """
     self.assertEqual(__ISOSOLESE__, classify_triangle(0.25, 0.405, 0.41))
Beispiel #9
0
 def test_right(self):
     """test right triangles
 """
     self.assertEqual(__RIGHT__, classify_triangle(3, 4, 5))
     self.assertEqual(__RIGHT__, classify_triangle(0.25, 0.4, 0.47))
Beispiel #10
0
 def test_isosolese(self):
     """test isosolese triangles
 """
     self.assertEqual(__ISOSOLESE__, classify_triangle(3, 4, 4))
     self.assertEqual(__ISOSOLESE__, classify_triangle(0.25, 0.4, 0.4))
 def test_equilateral_triangle(self):
     """ Test methods for Equilateral triangle """
     self.assertEqual(classify_triangle(1, 1, 1), 'Equilateral', '1,1,1 is equilateral')
     self.assertEqual(classify_triangle(5, 5, 5), 'Equilateral', '5,5,5 is equilateral')
     self.assertEqual(classify_triangle(10, 10, 10), 'Equilateral', '10,10,10 is equilateral')
Beispiel #12
0
 def test_equilateral(self):
     """test equilateral triangles
 """
     self.assertEqual(__EQUILATERAL__, classify_triangle(4, 4, 4))
     self.assertEqual(__EQUILATERAL__, classify_triangle(0.1, 0.1, 0.1))
Beispiel #13
0
 def test_isoscoles(self):
     self.assertEqual(classify_triangle(3, 3, 2), 'isoscoles')
     self.assertEqual(classify_triangle(1.5, 1.5, 1.5), 'equilateral')
     self.assertNotEqual(classify_triangle(3, 4, 5), 'equilateral')
Beispiel #14
0
 def test_equilateral(self):
     self.assertEqual(classify_triangle(1, 1, 1), 'equilateral')
     self.assertEqual(classify_triangle(1.5, 1.5, 1.5), 'equilateral')
     self.assertNotEqual(classify_triangle(3, 4, 5), 'equilateral')
 def test_isosceles_triangle(self):
     """ Test methods for Isosceles triangle """
     self.assertEqual(classify_triangle(2, 2, 3), 'Isosceles', '2,2,4 is Isosceles')
     self.assertEqual(classify_triangle(3, 5, 3), 'Isosceles', '3,5,3 is Isosceles')
     self.assertEqual(classify_triangle(4, 6, 6), 'Isosceles', '4,6,6 is Isosceles')
 def test_not_a_triangle(self):
     """ Test methods for NotATriangle """
     self.assertEqual(classify_triangle(4, 7, 21), 'NotATriangle', '4,7,21 is not a triangle')
     self.assertEqual(classify_triangle(5, 1, 1), 'NotATriangle', '5, 1, 1 is not a triangle')
     self.assertEqual(classify_triangle(2, 6, 2), 'NotATriangle', '2,6,2 is not a triangle')
     self.assertEqual(classify_triangle(1, 1, 5), 'NotATriangle', '1,1,5 is not a triangle')
 def test_scalene_triangle(self):
     """ Test methods for Scalene triangle """
     self.assertEqual(classify_triangle(4, 5, 6), 'Scalene', '4,5,6 is Scalene')
     self.assertEqual(classify_triangle(6, 5, 4), 'Scalene', '6,5,4 is Scalene')
     self.assertEqual(classify_triangle(5, 4, 6), 'Scalene', '5,4,6 is Scalene')
     self.assertEqual(classify_triangle(10, 11, 12), 'Scalene', '10,11,12 is Scalene')