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
Example #4
0
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)