-
Notifications
You must be signed in to change notification settings - Fork 36
Expand file tree
/
Copy pathchallenge.py
More file actions
96 lines (60 loc) · 2.43 KB
/
challenge.py
File metadata and controls
96 lines (60 loc) · 2.43 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
import math
def square_area(side):
"""Returns the area of a square"""
return side * side
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
def trapezoid_area(base_minor, base_major, height):
"""Returns the area of a trapezoid"""
return (height * (base_major * base_minor))/2
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 * pow(radius, 2), 1)
if __name__ == '__main__':
import unittest
class GeometrySuite(unittest.TestCase):
def setUp(self):
self.values = {
'side':2,
'base':2,
'height':5,
'diagonal_1':6,
'diagonal_2':4,
'base_major':6,
'perimeter':12,
'apothem':4,
'radius':2,
}
def test_square_area(self):
self.assertEqual(4, square_area(self.values['side']))
def test_rectangle_area(self):
self.assertEqual(10, rectangle_area(self.values['base'],
self.values['height']))
def test_triangle_area(self):
self.assertEqual(5, triangle_area(self.values['base'],
self.values['height']))
def test_rhombus_area(self):
self.assertEqual(24, rhombus_area(self.values['diagonal_1'],
self.values['diagonal_2']))
def test_trapezoid_area(self):
self.assertEqual(30, trapezoid_area(self.values['base'],
self.values['base_major'],
self.values['height']))
def test_regular_polygon_area(self):
self.assertEqual(24, regular_polygon_area(self.values['perimeter'],
self.values['apothem']))
def test_circumference_area(self):
self.assertEqual(12.6, circumference_area(self.values['radius']))
def tearDown(self):
del(self.values)
unittest.main()