def testSubtract(self): n1 = number_methods.Number(2.0) n2 = number_methods.Number(1.0) n3 = n1 - n2 self.assertEqual(n3.value, 1.0)
def testInplaceSubtract(self): n1 = number_methods.Number(2.0) n2 = number_methods.Number(1.0) n1 -= n2 self.assertEqual(n1.value, 1.0)
def testPowerWithModulo(self): n1 = number_methods.Number(7.0) n2 = number_methods.Number(3.0) n3 = number_methods.Number(10.0) n4 = pow(n1, n2, n3) self.assertEqual(n4.value, 3.0)
def testOr(self): n1 = number_methods.Number(5.0) # 5(0b0101) n2 = number_methods.Number(6.0) # 6(0b0110) self.assertEqual((n1 | n2).value, 7) # 2(0b0111)
def testFloat(self): n1 = number_methods.Number(6) self.assertEqual(float(n1), 6.0)
def testInvert(self): n = number_methods.Number(5.0) # 5(0b0101) self.assertEqual((~n).value, -6) # -6(0b1010)
def testRshift(self): n = number_methods.Number(5.0) # 5(0b0101) self.assertEqual((n >> 1).value, 2) # 2(0b0010)
def testInplaceMod(self): n1 = number_methods.Number(7.0) n2 = number_methods.Number(3.0) n1 %= n2 self.assertEqual(n1.value, 1.0)
def testTrueDivide(self): n1 = number_methods.Number(6.0) n2 = number_methods.Number(3.0) n3 = n1 / n2 self.assertEqual(n3.value, 2.0)
def testDivmod(self): n1 = number_methods.Number(7.0) n2 = number_methods.Number(3.0) n3, n4 = divmod(n1, n2) self.assertEqual(n3.value, 2.0) self.assertEqual(n4.value, 1.0)
def testCustomizedMultiply(self): n1 = number_methods.Number(2.0) n2 = number_methods.Number(3.0) n3 = n1.my_mul(n2) self.assertEqual(n3.value, 6.0)
def testIndex(self): n1 = number_methods.Number(6) self.assertEqual(n1.__index__(), 6)
def testInplaceFloorDivide(self): n1 = number_methods.Number(10.0) n2 = number_methods.Number(3.0) n1 //= n2 self.assertEqual(n1.value, 3.0)
def testFloorDivide(self): n1 = number_methods.Number(10.0) n2 = number_methods.Number(3.0) n3 = n1 // n2 self.assertEqual(n3.value, 3.0)
def testMultiply(self): n1 = number_methods.Number(2.0) n2 = number_methods.Number(3.0) n3 = n1 * n2 self.assertEqual(n3.value, 6.0)
def testInplaceTrueDivede(self): n1 = number_methods.Number(6.0) n2 = number_methods.Number(3.0) n1 /= n2 self.assertEqual(n1.value, 2.0)
def testMod(self): n1 = number_methods.Number(7.0) n2 = number_methods.Number(3.0) n3 = n1 % n2 self.assertEqual(n3.value, 1.0)
def testInplaceLshift(self): n = number_methods.Number(5.0) # 5(0b0101) n <<= 1 self.assertEqual(n.value, 10) # 10(0b1010)
def testLshift(self): n = number_methods.Number(5.0) # 5(0b0101) self.assertEqual((n << 1).value, 10) # 10(0b1010)
def testInplaceRshift(self): n = number_methods.Number(5.0) # 5(0b0101) n >>= 1 self.assertEqual(n.value, 2) # 2(0b0010)
def testAnd(self): n1 = number_methods.Number(5.0) # 5(0b0101) n2 = number_methods.Number(6.0) # 6(0b0110) self.assertEqual((n1 & n2).value, 4) # 2(0b0100)
def testInplaceAnd(self): n1 = number_methods.Number(5.0) # 5(0b0101) n2 = number_methods.Number(6.0) # 6(0b0110) n1 &= n2 self.assertEqual(n1.value, 4) # 2(0b0100)
def testInt(self): n1 = number_methods.Number(6.0) self.assertEqual(int(n1), 6)
def testInplaceOr(self): n1 = number_methods.Number(5.0) # 5(0b0101) n2 = number_methods.Number(6.0) # 6(0b0110) n1 |= n2 self.assertEqual(n1.value, 7) # 2(0b0111)
def testInplaceAdd(self): n1 = number_methods.Number(1.0) n2 = number_methods.Number(2.0) n1 += n2 self.assertEqual(n1.value, 3.0)
def testAdd(self): n1 = number_methods.Number(1.0) n2 = number_methods.Number(2.0) n3 = n1 + n2 self.assertEqual(n3.value, 3.0)
def testInplaceMultiply(self): n1 = number_methods.Number(2.0) n2 = number_methods.Number(3.0) n1 *= n2 self.assertEqual(n1.value, 6.0)
def testPower(self): n1 = number_methods.Number(7.0) n2 = number_methods.Number(3.0) n3 = n1**n2 self.assertEqual(n3.value, 343.0)