def test_pow(self): #This does not account for proper divison as the plan is to use floor div to fix rounding errors. exp = "^" simple = gambler.complex_math([10], exp, 5) n_simple = gambler.complex_math([10], exp, -5) multi = gambler.complex_math([10, 8, 5, 3, 1], exp, 10) n_multi = gambler.complex_math([20, 15, 10, 5, 1], exp, -10) self.assertEqual(simple, [100000])
def test_mul(self): exp = "*" simple = gambler.complex_math([10], exp, 5) n_simple = gambler.complex_math([10], exp, -5) multi = gambler.complex_math([20, 15, 10, 5, 1], exp, 10) n_multi = gambler.complex_math([20, 15, 10, 5, 1], exp, -10) self.assertEqual(simple, [50]) self.assertEqual(n_simple, [-50]) self.assertEqual(multi, [200, 150, 100, 50, 10]) self.assertEqual(n_multi, [-200, -150, -100, -50, -10])
def test_sub(self): exp = "-" simple = gambler.complex_math([10], exp, 5) n_simple = gambler.complex_math([10], exp, -5) multi = gambler.complex_math([20, 15, 10, 5, 1], exp, 10) n_multi = gambler.complex_math([20, 15, 10, 5, 1], exp, -10) self.assertEqual(simple, [5]) self.assertEqual(n_simple, [15]) self.assertEqual(multi, [10, 5, 0, -5, -9]) self.assertEqual(n_multi, [30, 25, 20, 15, 11])
def test_mod(self): exp = "%" simple = gambler.complex_math([10], exp, 5) n_simple = gambler.complex_math([10], exp, -5) multi = gambler.complex_math([45, 37, 20, 11, 0], exp, 10) n_multi = gambler.complex_math([45, 37, 20, 11, 0], exp, -10) self.assertEqual(simple, [0]) self.assertEqual(n_simple, [0]) self.assertEqual(multi, [5, 7, 0, 1, 0]) self.assertEqual(n_multi, [-5, -3, 0, -9, 0])