def test_single_digits(self): expected = 30 self.assertEqual(karatsuba_multiplication(6, 5), expected)
def test_large_same_size(self): expected = 50540736961471275 self.assertEqual(karatsuba_multiplication(345345345, 146348395), expected)
def test_large_different_size(self): expected = 60118107496 self.assertEqual(karatsuba_multiplication(7655432, 7853), expected)
def test_large_numbers_zeros(self): expected = 1003250720050501 self.assertEqual(karatsuba_multiplication(100020001, 10030501), expected)
def test_one_number(self): expected = 0 self.assertEqual(karatsuba_multiplication(4565), expected)
def test_multiple_digits(self): expected = 12040974 self.assertEqual(karatsuba_multiplication(4698, 2563), expected)
def test_negative_numbers(self): expected = -150 self.assertEqual(karatsuba_multiplication(-15, 10), expected)
def test_different_digits(self): expected = 6000 self.assertEqual(karatsuba_multiplication(40, 150), expected)