def test_small(self):
     max_number = 2 * 10**5
     self.assertEqual(max_pairwise_product([1, 2, 3]), 6)
     self.assertEqual(max_pairwise_product([9, 3, 2]), 27)
     self.assertEqual(max_pairwise_product([7, 3, 7, 2]), 49)
     self.assertEqual(max_pairwise_product([max_number, max_number]),
                      40000000000)
Esempio n. 2
0
 def test_small(self):
     print("test_small start")
     self.assertEqual(max_pairwise_product([1, 2, 3]), 6)
     self.assertEqual(max_pairwise_product([9, 3, 2]), 27)
     self.assertEqual(max_pairwise_product([7, 3, 7, 2]), 49)
     self.assertEqual(max_pairwise_product([3, 3, 3, 3]), 9)
     self.assertEqual(max_pairwise_product([1, 31, 30, 3]), 930)
     print("test_small complete")
Esempio n. 3
0
 def test_large(self):
     print("test_large start")
     self.assertEqual(max_pairwise_product([4] * (2 * 10**5)), 16)
     self.assertEqual(max_pairwise_product([x for x in range(10**5)]),
                      (10**5 - 1) * (10**5 - 2))
     self.assertEqual(max_pairwise_product([1] * (2 * 10**5)), 1)
     self.assertEqual(max_pairwise_product([1] * (2 * 10**5)), 1)
     self.assertEqual(max_pairwise_product([1] * (2 * 10**5)), 1)
Esempio n. 4
0
    def test_stress(self):
        number_of_iterations = 10
        array_size = 100
        max_number = 2 * 10**5

        for _ in range(number_of_iterations):
            numbers = [randint(0, max_number) for _ in range(array_size)]
            self.assertEqual(max_pairwise_product(list(numbers)), max_pairwise_product_naive(numbers))
Esempio n. 5
0
    def test_bin_r(self):
        number_of_iterations = 10
        array_size = 100

        for _ in range(number_of_iterations):
            numbers = [(randint(0, 1)) for _ in range(array_size)]
            self.assertEqual(max_pairwise_product(list(numbers)),
                             max_pairwise_product_naive(numbers))
Esempio n. 6
0
 def test_small(self):
     self.assertEqual(max_pairwise_product([1, 2, 3]), 6)
     self.assertEqual(max_pairwise_product([9, 3, 2]), 27)
     self.assertEqual(max_pairwise_product([7, 3, 7, 2]), 49)
Esempio n. 7
0
 def test_small(self):
     self.assertEqual(max_pairwise_product([1, 2, 3]), 6)
     self.assertEqual(max_pairwise_product([9, 3, 2]), 27)
     self.assertEqual(max_pairwise_product([7, 3, 7, 2]), 49)
     self.assertEqual(max_pairwise_product([5, 1, 6, 8, 7]), 56)
     self.assertEqual(max_pairwise_product([7, 3, 0, 2, 9, 8]), 72)
Esempio n. 8
0
from test_helper import run_common_tests, failed, passed, check_tests_pass
from maximum_pairwise_product import max_pairwise_product

if __name__ == '__main__':
    run_common_tests()
    check_tests_pass("maximum_pairwise_product_unit_tests.py")

    all_tests_passed = True
    tests = [
        ([1, 2], 2),
        ([2, 1], 2),
        ([3, 5], 15),
        ([5, 3], 15),
        ([7, 7], 49),
        ([5, 1, 5], 25),
        ([1, 5, 5], 25),
        ([i + 1 for i in range(10**5)], (10**5 - 1) * (10**5)),
    ]

    for array, answer in tests:
        if max_pairwise_product(array) != answer:
            all_tests_passed = False
            failed("Wrong answer for A={}".format(array))
            break

    if all_tests_passed:
        passed()
Esempio n. 9
0
 def test_small(self):
     self.assertEqual(max_pairwise_product([1, 2, 3]), 6)
     self.assertEqual(max_pairwise_product([9, 3, 2]), 27)
     self.assertEqual(max_pairwise_product([7, 3, 7, 2]), 49)
     self.assertEqual(max_pairwise_product([12, 10]), 120)
     self.assertEqual(max_pairwise_product([100000, 90000]), 9000000000)