def test_tvm(self): ''' Tests ----- 1. FV w/ PV, R, n, m and ret_list=False 2. PV w/ PV, R, n, m and ret_list=False 3. R w/ PV, FV, n, m 4. n w/ PV, FV, R, m 5. ear w/ R, m ''' self_dir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) tests = ['Calculator_TVM_1.csv', 'Calculator_TVM_2.csv', 'Calculator_TVM_3.csv'] tests = [os.path.join(self_dir, 'docs',test) for test in tests] for test_file in tests: # Set up solution = pd.read_csv(test_file) for idx, row in solution.iterrows(): # Test 1 FV = Calculator.FV(PV=row['PV'], R=row['R'], n=row['n'], m=row['m']) self.assertAlmostEqual(FV, row['FV'], 4) # Test 2 PV = Calculator.PV(FV=row['FV'], R=row['R'], n=row['n'], m=row['m']) self.assertAlmostEqual(PV, row['PV'], 4) # Test 3 R = Calculator.R(PV=row['PV'], FV=row['FV'], n=row['n'], m=row['m']) self.assertAlmostEqual(R, row['R'], 4) # Test 4 n = Calculator.n(PV=row['PV'], FV=row['FV'], R=row['R'], m=row['m']) self.assertAlmostEqual(n, row['n'], 4) # Test 5 ear = Calculator.eff_ret(R=row['R'], m=row['m']) self.assertAlmostEqual(ear, row['EAR'], 4, "R(%s),m(%s)" % (row['R'], row['m']))
def test_tvm(self): ''' Tests ----- 1. FV w/ PV, R, n, m and ret_list=False 2. PV w/ PV, R, n, m and ret_list=False 3. R w/ PV, FV, n, m 4. n w/ PV, FV, R, m 5. ear w/ R, m ''' self_dir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) tests = ['Calculator_TVM_1.csv', 'Calculator_TVM_2.csv', 'Calculator_TVM_3.csv'] tests = [os.path.join(self_dir, 'docs',test) for test in tests] for test_file in tests: # Set up solution = pd.read_csv(test_file) for idx, row in solution.iterrows(): # Test 1 FV = Calculator.FV(PV=row['PV'], R=row['R'], n=row['n'], m=row['m']) self.assertAlmostEquals(FV, row['FV'], 4) # Test 2 PV = Calculator.PV(FV=row['FV'], R=row['R'], n=row['n'], m=row['m']) self.assertAlmostEquals(PV, row['PV'], 4) # Test 3 R = Calculator.R(PV=row['PV'], FV=row['FV'], n=row['n'], m=row['m']) self.assertAlmostEquals(R, row['R'], 4) # Test 4 n = Calculator.n(PV=row['PV'], FV=row['FV'], R=row['R'], m=row['m']) self.assertAlmostEquals(n, row['n'], 4) # Test 5 ear = Calculator.eff_ret(R=row['R'], m=row['m']) self.assertAlmostEquals(ear, row['EAR'], 4, "R(%s),m(%s)" % (row['R'], row['m']))