Coverage for tests/test_triangle.py: 100%
30 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-02 14:51 +0000
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-02 14:51 +0000
1from unittest import TestCase
2from src.triangle import area_of_a_triangle
5class TestAreaOfTriangle(TestCase):
7 def test_float_values(self):
8 """Prueba áreas cuando los valores son flotantes"""
9 self.assertAlmostEqual(area_of_a_triangle(3.4556, 8.3567), 14.43870626)
10 self.assertEqual(area_of_a_triangle(2.3, 5.7), 6.555)
12 def test_integer_values(self):
13 """Prueba áreas cuando los valores son enteros"""
14 self.assertEqual(area_of_a_triangle(2, 5), 5.0)
15 self.assertEqual(area_of_a_triangle(4, 6), 12.0)
17 def test_zero_base(self):
18 """Prueba áreas cuando la base es cero"""
19 self.assertEqual(area_of_a_triangle(0, 5), 0.0)
21 def test_zero_height(self):
22 """Prueba áreas cuando la altura es cero"""
23 self.assertEqual(area_of_a_triangle(2, 0), 0.0)
25 def test_zero_values(self):
26 """Prueba áreas cuando la base y la altura son cero"""
27 self.assertEqual(area_of_a_triangle(0, 0), 0.0)
29 def test_negative_base(self):
30 """Prueba que se lance ValueError cuando la base es negativa"""
31 self.assertRaises(ValueError, area_of_a_triangle, -2, 5)
33 def test_negative_height(self):
34 """Prueba que se lance ValueError cuando la altura es negativa"""
35 self.assertRaises(ValueError, area_of_a_triangle, 2, -5)
37 def test_negative_values(self):
38 """Prueba que se lance ValueError cuando ambos son negativos"""
39 self.assertRaises(ValueError, area_of_a_triangle, -2, -5)
41 def test_with_boolean(self):
42 """Prueba que se lance TypeError con tipos booleanos"""
43 self.assertRaises(TypeError, area_of_a_triangle, True, 5)
44 self.assertRaises(TypeError, area_of_a_triangle, 2, True)
46 def test_with_string(self):
47 """Prueba que se lance TypeError con tipos string"""
48 self.assertRaises(TypeError, area_of_a_triangle, "base", 5)
49 self.assertRaises(TypeError, area_of_a_triangle, 2, "altura")
51 def test_with_nulls(self):
52 """Prueba que se lance TypeError con tipos nulos"""
53 self.assertRaises(TypeError, area_of_a_triangle, None, 5)
54 self.assertRaises(TypeError, area_of_a_triangle, 2, None)