import unittest import os import zipfile import time class Test_min_plus(unittest.TestCase): @classmethod def setUpClass(cls): base, ext = os.path.splitext(os.path.basename(__file__)) zf = zipfile.ZipFile(__file__ + ".zip", "a", zipfile.ZIP_DEFLATED) zf.write(__file__, "{}.{}{}".format(base, int(time.time()), ext)) zf.close() def test_min_plus(self): self.assertEqual(min_plus([3, 4, 5, 6]), 3) self.assertEqual(min_plus([4, 3, 5, 6]), 3) self.assertEqual(min_plus([6, 4, 5, 3]), 3) self.assertEqual(min_plus([3, 3, 3, 3]), 3) self.assertEqual(min_plus([0, 1, 3]), 1) self.assertEqual(min_plus([1, 0, 3]), 1) self.assertEqual(min_plus([3, 1, 0]), 1) self.assertEqual(min_plus([3]), 3) self.assertEqual(min_plus([-4, 3, 5, -1]), 3) self.assertEqual(min_plus([-4, -3, -5, -1]), 0) self.assertEqual(min_plus([-1]), 0) self.assertEqual(min_plus([]), 0) def test_gcd(self): self.assertEqual(gcd(42, 35), 7) self.assertEqual(gcd(49, 35), 7) self.assertEqual(gcd(140, 42), 14) self.assertEqual(gcd(35, 42), 7) self.assertEqual(gcd(35, 49), 7) self.assertEqual(gcd(42, 140), 14) self.assertEqual(gcd(42, 55), 1) self.assertEqual(gcd(55, 42), 1) self.assertEqual(gcd(73, 73), 73) self.assertEqual(gcd(12, 12), 12) self.assertEqual(gcd(24, 12), 12) self.assertEqual(gcd(12, 24), 12) self.assertEqual(gcd(15, 1), 1) self.assertEqual(gcd(1, 15), 1) self.assertEqual(gcd(1, 1), 1) def test_lcm(self): self.assertEqual(lcm(42, 35), 210) self.assertEqual(lcm(49, 35), 245) self.assertEqual(lcm(140, 42), 420) self.assertEqual(lcm(35, 42), 210) self.assertEqual(lcm(35, 49), 245) self.assertEqual(lcm(42 ,140), 420) self.assertEqual(lcm(42, 55), 42*55) self.assertEqual(lcm(55, 42), 55*42) self.assertEqual(lcm(73, 73), 73) self.assertEqual(lcm(12, 12), 12) self.assertEqual(lcm(24, 12), 24) self.assertEqual(lcm(12, 24), 24) self.assertEqual(lcm(15, 1), 15) self.assertEqual(lcm(1, 15), 15) self.assertEqual(lcm(1, 1), 1) def test_skoki(self): self.assertEqual(skoki([3, 4, 0, 4, 2, 3]), 4) self.assertEqual(skoki([1, 2, 3, 4, 0]), 5) self.assertEqual(skoki([1, 1]), -2) self.assertEqual(skoki([1, 2, 3, 4, 5, 3]), -2) self.assertEqual(skoki([2, 42, 0]), 2) self.assertEqual(skoki([1, 2, 3, 8]), -1) self.assertEqual(skoki([0]), 1) def test_an_ban(self): self.assertEqual(an_ban(["Ana", "Berta", "Cilka", "Dani", "Eva"]), "Eva") self.assertEqual(an_ban(["Ana", "Berta", "Cilka", "Dani"]), "Dani") self.assertEqual(an_ban(["Ana", "Berta", "Cilka"]), "Ana") self.assertEqual(an_ban(["Ana", "Berta"]), "Berta") self.assertEqual(an_ban(["Ana"]), "Ana") def test_borza(self): self.assertEqual(borza([0, 1, 2, 5, 7]), 2) self.assertEqual(borza([5, 6, 9, 10, 10]), 1) self.assertEqual(borza([5, 9, 9, 10, 10]), 0) self.assertEqual(borza([5, 9, 9, 10, 15]), 3) self.assertEqual(borza([5, 9]), 0) self.assertEqual(borza([6, 5, 6, 5, 4, 3, 2]), 1) self.assertEqual(borza([6, 5, 4, 3, 2, 3]), 4) def test_nepadajoci(self): self.assertEqual(nepadajoce([1, 2, 1, 2, 3]), 3) self.assertEqual(nepadajoce([1, 2, 3, 1, 2]), 3) self.assertEqual(nepadajoce([1,2,3,2,3,4,5]), 4) self.assertEqual(nepadajoce([1,2,6,8,10,1,1,1,1,1,1,0]), 6) self.assertEqual(nepadajoce([1,4,6,2,3,4,7,1,4,5,8,2,4,1,4,5,5,6,8,7,3,5,5,3,5,7,1,2,2,5,7,9,9,9,1,2]), 8) self.assertEqual(nepadajoce([1, 2, 3]), 3) self.assertEqual(nepadajoce([3, 2, 1]), 1) self.assertEqual(nepadajoce([1]), 1) if __name__ == "__main__": unittest.main()