def test_equal_amounts_repayment_for_all_years(self): test_example = DebtExpenses(200000, 0.14, 4) req_sum = 0 for i in range(1, 5, 1): _, expenses = test_example.equal_amounts_repayment(i) req_sum += expenses self.assertEqual(format(req_sum, '.0f'), '200000')
def perform_repayment(self, repayment): try: debt = DebtExpenses(int(self.req_sum), float(self.percent_rate), int(self.period)) if 'equal_amounts' in repayment: self.payment, self.expenses = debt.equal_amounts_repayment( int(self.year)) else: self.payment, self.expenses = debt.equal_payments_repayment( int(self.year)) self.update_error_message() except Exception: self.update_result() self.error_message = 'Error: Incorrect input'
def test_equal_payments_repayment_for_4_year(self): test_example = DebtExpenses(200000, 0.14, 4) payment, expenses = test_example.equal_payments_repayment(4) self.assertEqual([format(payment, '.0f'), format(expenses, '.0f')], ['68641', '60211'])
def test_equal_amounts_repayment_for_invalid_neg_year(self): test_example = DebtExpenses(200000, 0.14, 4) with self.assertRaises(Exception): test_example.equal_amounts_repayment(-6)
def test_equal_amounts_repayment_for_3_year(self): test_example = DebtExpenses(200000, 0.14, 4) payment, expenses = test_example.equal_amounts_repayment(3) self.assertEqual([format(payment, '.0f'), format(expenses, '.0f')], ['64000', '50000'])
def test_equal_amounts_repayment_with_invalid_req_sum(self): with self.assertRaises(ValueError): DebtExpenses(-333, 0.14, 4)
def test_equal_amounts_repayment_with_invalid_type_percent_rate(self): with self.assertRaises(TypeError): DebtExpenses(200000, '0.14', 4)
def test_equal_amounts_repayment_with_invalid_type_period(self): with self.assertRaises(TypeError): DebtExpenses(200000, 0.14, 4.5)
def test_equal_amounts_repayment_with_invalid_type_req_sum(self): with self.assertRaises(TypeError): DebtExpenses(13823.4566, 0.14, 4)
def test_equal_amounts_repayment_with_all_invalid_values(self): with self.assertRaises(ValueError): DebtExpenses(-200000, -0.14, -4)
def test_equal_amounts_repayment_with_invalid_percent_rate(self): with self.assertRaises(ValueError): DebtExpenses(200000, -0.14, 4)