def test_large(self): n = 10 ** 3 self.assertEqual(max_dot_product([0] * n, [0] * n), 0) self.assertEqual(max_dot_product([1] * n, [1] * n), n) for _ in range(5): len = random.randint(0,10**3) first_sequence, second_sequence = [], [] for _ in range(len): n1 = random.randint(1,10**5) first_sequence.append(n1) n2 = random.randint(1,10**5) second_sequence.append(n2) self.assertEqual( max_dot_product(list(first_sequence), list(second_sequence)), max_dot_product_naive(first_sequence, second_sequence) )
def test_small(self): for (first_sequence, second_sequence) in [([1], [2]), ([2], [1]), ([1], [1]), ([1, 2], [5, 10]), ([2, 1], [5, 10]), ([1, 2, 3, 4, 5], [5, 4, 3, 2, 1]), ([17, 12, 20], [19, 2, 3])]: self.assertEqual( max_dot_product(list(first_sequence), list(second_sequence)), max_dot_product_naive(first_sequence, second_sequence))
def test_large(self): n = 10 ** 3 self.assertEqual(max_dot_product([0] * n, [0] * n), 0) self.assertEqual(max_dot_product([1] * n, [1] * n), n) type here
from random import randint from test_helper import run_common_tests, failed, passed, check_tests_pass from maximum_ad_revenue import max_dot_product def reference(a, b): a = sorted(a) b = sorted(b) return sum(a[i] * b[i] for i in range(len(a))) if __name__ == '__main__': run_common_tests() check_tests_pass("maximum_ad_revenue_unit_tests.py") all_tests_passed = True for n in [10, 20, 30]: a = [randint(0, 10**5) for _ in range(n)] b = [randint(0, 10**5) for _ in range(n)] if reference(a, b) != max_dot_product(a, b): all_tests_passed = False failed("Wrong answer for a={}, b={}".format(a, b)) if all_tests_passed: passed()
def test_large(self): n = 10 ** 3 self.assertEqual(max_dot_product([0] * n, [0] * n), 0) self.assertEqual(max_dot_product([1] * n, [1] * n), n) self.assertEqual(max_dot_product([1, 5, 7], [2, 4, 3]), 45)
def test_large(self): n = 10**3 self.assertEqual(max_dot_product([0] * n, [0] * n), 0) self.assertEqual(max_dot_product([1] * n, [1] * n), n) self.assertEqual(max_dot_product([1] * n, [i + 1 for i in range(n)]), (n * (n + 1)) // 2)