-
Notifications
You must be signed in to change notification settings - Fork 36
Expand file tree
/
Copy pathchallenge.py
More file actions
100 lines (74 loc) · 3.02 KB
/
challenge.py
File metadata and controls
100 lines (74 loc) · 3.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import math
def square_area(side):
"""Returns the area of a square"""
return side**2
def rectangle_area(base, height):
"""Returns the area of a rectangle"""
return base * height
def triangle_area(base, height):
"""Returns the area of a triangle"""
return base * height / 2
def rhombus_area(diagonal_1, diagonal_2):
"""Returns the area of a rhombus"""
return diagonal_1 * diagonal_2 / 2
def trapezoid_area(base_minor, base_major, height):
"""Returns the area of a trapezoid"""
return ((base_major + base_minor) / 2) * height
def regular_polygon_area(perimeter, apothem):
"""Returns the area of a regular polygon"""
return (perimeter * apothem) / 2
def circumference_area(radius):
"""Returns the area of a circumference"""
return (round(math.pi * radius**2, 3))
if __name__ == '__main__':
import unittest
class GeometrySuite(unittest.TestCase):
def setUp(self):
#!El setUp sólo se recomienda cuando los mismos datos sirven para diferentes Tests, y va
#!con el TearDown al final
self.areas = {
'square': [16, 4],
'rectangle': [30, 6, 5],
'triangle': [7.5, 5, 3],
'rhombus': [25, 5, 10],
'trapezoid': [8, 3, 5, 2],
'polygon': [168, 48, 7],
'circumference': [12.566, 2]
}
def test_square_area(self):
self.assertEqual(self.areas['square'][0],
square_area(self.areas['square'][1]))
def test_rectangle_area(self):
self.assertEqual(
self.areas['rectangle'][0],
rectangle_area(self.areas['rectangle'][1],
self.areas['rectangle'][2]))
def test_triangle_area(self):
self.assertEqual(
self.areas['triangle'][0],
triangle_area(self.areas['triangle'][1],
self.areas['triangle'][2]))
def test_rhombus_area(self):
self.assertEqual(
self.areas['rhombus'][0],
rhombus_area(self.areas['rhombus'][1],
self.areas['rhombus'][2]))
def test_trapezoid_area(self):
self.assertEqual(
self.areas['trapezoid'][0],
trapezoid_area(self.areas['trapezoid'][1],
self.areas['trapezoid'][2],
self.areas['trapezoid'][3]))
def test_regular_polygon_area(self):
self.assertEqual(
self.areas['polygon'][0],
regular_polygon_area(self.areas['polygon'][1],
self.areas['polygon'][2]))
def test_circumference_area(self):
self.assertEqual(
self.areas['circumference'][0],
circumference_area(self.areas['circumference'][1]))
def tearDown(self):
#!Acompaña al setUp
del (self.areas)
unittest.main()