/
tests.py
99 lines (83 loc) · 3.17 KB
/
tests.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
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
__author__ = 'wenzou'
import unittest
from objects import FactorManager, CreditLine
class TestFactoryManager(unittest.TestCase):
def setUp(self):
self.factorManager = FactorManager()
def test_simple_array(self):
input_list = [10,5, 2, 20]
return_list = self.factorManager.return_factor(input_list)
expected_return = {
10: [5, 2],
5: [],
2: [],
20: [10, 5, 2]
}
self.assertEqual(expected_return, return_list)
def test_empty_array(self):
input_list = []
return_list = self.factorManager.return_factor(input_list)
expected_return = {}
self.assertEqual(expected_return, return_list)
def test_repeating_array(self):
input_list = [20,20, 2, 20, 20]
return_list = self.factorManager.return_factor(input_list)
expected_return = {
20: [2],
2: [],
}
self.assertEqual(expected_return, return_list)
def test_caching_array(self):
self.factorManager = FactorManager(cache=True)
input_list = [10,5, 2, 20]
return_list = self.factorManager.return_factor(input_list)
expected_return = {
10: [5, 2],
5: [],
2: [],
20: [10, 5, 2]
}
self.assertEqual(expected_return, return_list)
return_list = self.factorManager.return_factor(input_list)
self.assertEqual(expected_return, return_list)
class TestCreditLine(unittest.TestCase):
def setUp(self):
self.creditLine = CreditLine()
def test_cases_1(self):
self.creditLine = CreditLine(35.0)
self.creditLine.draw_credit(500)
self.creditLine.advance_days(30)
return_amount = self.creditLine.get_balance()
expected_return = 514.38
self.assertEqual(expected_return, return_amount)
def test_cases_2(self):
self.creditLine = CreditLine(35.0)
self.creditLine.draw_credit(500)
self.creditLine.advance_days(15)
self.creditLine.make_payment(200)
self.creditLine.advance_days(10)
#print self.creditLine.interest_charge
self.creditLine.draw_credit(100)
self.creditLine.advance_days(5)
#print self.creditLine.interest_charge
return_amount = self.creditLine.get_balance()
expected_return = 411.99
self.assertEqual(expected_return, return_amount)
def test_cases_3(self):
self.creditLine = CreditLine(35.0)
self.creditLine.draw_credit(500)
self.creditLine.advance_days(45)
return_amount = self.creditLine.get_balance()
expected_return = 514.38
excepted_current_interest = 7.3986676674798275
self.assertEqual(expected_return, return_amount)
self.assertEqual(excepted_current_interest, self.creditLine.interest_charge)
def test_cases_4(self):
self.creditLine = CreditLine(35.0)
self.creditLine.draw_credit(500)
self.creditLine.advance_days(120)
return_amount = self.creditLine.get_balance()
expected_return = 560.06
self.assertEqual(expected_return, return_amount)
if __name__ == '__main__':
unittest.main()