-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_mathfuncs.py
49 lines (41 loc) · 1.8 KB
/
test_mathfuncs.py
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
import unittest
import mathfuncs as mf
class TestMathFunctionMethods(unittest.TestCase):
def test_abs(self):
self.assertEqual(mf.absolute(-666), 666)
self.assertEqual(mf.absolute(-6946), 6946)
self.assertEqual(mf.absolute(666), 666)
def test_negitive(self):
self.assertEqual(mf.negitive(-677), True)
self.assertEqual(mf.negitive(-8777), True)
self.assertEqual(mf.negitive(-67), True)
self.assertEqual(mf.negitive(677), False)
self.assertEqual(mf.negitive(67), False)
self.assertEqual(mf.negitive(677345), False)
def test_power_of_2(self):
self.assertEqual(mf.power_of_2(1), 0.0)
self.assertEqual(mf.power_of_2(2), 1.0)
self.assertEqual(mf.power_of_2(4), 2.0)
self.assertEqual(mf.power_of_2(8), 3.0)
self.assertEqual(mf.power_of_2(16), 4.0)
self.assertEqual(mf.power_of_2(7), False)
self.assertEqual(mf.power_of_2(3423), False)
self.assertEqual(mf.power_of_2(10), False)
def test_factors(self):
self.assertEqual(mf.factors(5), [1,5])
self.assertEqual(mf.factors(9), [1,3,9])
self.assertEqual(mf.factors(5), [1,5])
self.assertEqual(mf.factors(34), [1,2,17,34])
def test_power_of_3(self):
self.assertEqual(mf.power_of_3(3), 1.0)
self.assertEqual(mf.power_of_3(9), 2.0)
self.assertEqual(mf.power_of_3(27), 3.0)
self.assertEqual(mf.power_of_3(81), 4.0)
self.assertEqual(mf.power_of_3(243), 5.0)
self.assertEqual(mf.power_of_3(44234), False)
self.assertEqual(mf.power_of_3(44423434), False)
def test_multipliers(self):
self.assertEqual(mf.multipliers(8), {1:8, 2:4, 4:2, 8:1})
self.assertEqual(mf.multipliers(3), {1:3, 3:1})
if __name__ == '__main__':
unittest.main()