예제 #1
0
	def test_initializers(self):
		scenarios = (
			("123","3"),
			(12.4, 3.4),
			(None, None),
			(1+2j, 2+1j),
			)
		for scenario in scenarios:
			with self.subTest(f"Scenario with {scenario}."):
				with self.assertRaises(TypeError):
					Mod(*scenario)
예제 #2
0
	def test_equality_different_mod(self):
		with self.assertRaises(TypeError):
			self.mod == Mod(7,18)
예제 #3
0
	def test_equality_mod(self):
		self.assertEqual(self.mod, Mod(7, 12))
예제 #4
0
	def test_modulus(self):
		with self.assertRaises(ValueError):
			Mod(19, -4)
			Mod(0, 0)
예제 #5
0
	def test_multiplication_int(self):
		new_mod = self.mod * 2
		self.assertEqual(new_mod, Mod(2, 12))
예제 #6
0
	def test_subtraction_int(self):
		new_mod = self.mod - 2
		self.assertEqual(new_mod, Mod(5, 12))
예제 #7
0
	def test_inplace_addition(self):
		self.mod += 2
		self.assertEqual(self.mod, Mod(9, 12))
예제 #8
0
	def test_addition_diff_modulus(self):
		with self.assertRaises(TypeError):
			self.mod + Mod(2, 13)
예제 #9
0
	def test_power_diff_modulus(self):
		with self.assertRaises(TypeError):
			self.mod ** Mod(2, 13)
예제 #10
0
	def test_object_creation(self):
		mod_2 = Mod(4, 3)
		self.assertTrue(mod_2)
		self.assertEqual(mod_2.value, 1) # Value should be converted to the residue
		self.assertEqual(mod_2.modulus, 3)
예제 #11
0
	def test_power_int(self):
		new_mod = self.mod ** 2
		self.assertEqual(new_mod, Mod(1, 12))
예제 #12
0
	def test_power_mod(self):
		new_mod = self.mod ** Mod(2, 12)
		self.assertEqual(new_mod, Mod(1, 12))
예제 #13
0
	def test_multiplication_inplace(self):
		self.mod *= 2
		self.assertEqual(self.mod, Mod(2, 12))
예제 #14
0
	def test_multiplication_diff_modulus(self):
		with self.assertRaises(TypeError):
			self.mod * Mod(2, 13)
예제 #15
0
	def test_addition_mod(self):
		new_mod = self.mod + Mod(2, 12)
		self.assertEqual(new_mod, Mod(9, 12))
예제 #16
0
	def test_addition_int(self):
		new_mod = self.mod + 2
		self.assertEqual(new_mod, Mod(9, 12))
예제 #17
0
	def test_power_inplace(self):
		self.mod **= 2
		self.assertEqual(self.mod, Mod(1, 12))
예제 #18
0
	def setUp(self):
		self.mod = Mod(19, 12)
예제 #19
0
	def test_comparison_lt(self):
		self.assertLess(self.mod, Mod(8, 12))
		self.assertLess(self.mod, 8)
예제 #20
0
	def test_subtraction_mod(self):
		new_mod = self.mod - Mod(2, 12)
		self.assertEqual(new_mod, Mod(5, 12))
예제 #21
0
	def test_comparison_le(self):
		self.assertLessEqual(self.mod, Mod(19, 12))
		self.assertLessEqual(self.mod, 19)
예제 #22
0
	def test_subtraction_diff_modulus(self):
		with self.assertRaises(TypeError):
			self.mod - Mod(2, 13)
예제 #23
0
	def test_subtraction_inplace(self):
		self.mod -= 2
		self.assertEqual(self.mod, Mod(5, 12))