예제 #1
0
    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])
예제 #2
0
    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])
예제 #3
0
    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])
예제 #4
0
    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])