import unittest class Test01Obvezna(unittest.TestCase): def test_01_bo_slo_cez(self): self.assertTrue(bo_slo_cez([5, 1, 3, 9], 10)) self.assertTrue(bo_slo_cez([5, 1, 3, 9], 15)) self.assertTrue(bo_slo_cez([5], 6)) self.assertTrue(bo_slo_cez([], 1)) self.assertFalse(bo_slo_cez([3], 1)) self.assertFalse(bo_slo_cez([3, 7, 1], 5)) self.assertFalse(bo_slo_cez([3, 7, 10], 8)) with self.assertRaises(RecursionError, msg="Funkcija 'bo_slo_cez' ni rekurzivna"): bo_slo_cez([1] * 2000, 5) def test_02_naj_luknja(self): self.assertEqual(naj_luknja([5, 1, 3, 9]), 9) self.assertEqual(naj_luknja([5, 1, 13, 9]), 13) self.assertEqual(naj_luknja([15, 1, 13, 9]), 15) self.assertEqual(naj_luknja([]), 0) self.assertEqual(naj_luknja(list(range(20))), 19) with self.assertRaises(RecursionError, msg="Funkcija 'naj_luknja' ni rekurzivna"): naj_luknja([1] * 2000) def test_03_vedno_hujse(self): self.assertTrue(vedno_hujse([4, 6, 10, 12])) self.assertTrue(vedno_hujse([1, 2, 3, 4])) self.assertTrue(vedno_hujse([1, 2])) self.assertTrue(vedno_hujse([1])) self.assertTrue(vedno_hujse([])) self.assertFalse(vedno_hujse([4, 6, 10, 12, 8])) self.assertFalse(vedno_hujse([4, 6, 10, 12, 12])) self.assertFalse(vedno_hujse([4, 6, 11, 10, 12])) self.assertFalse(vedno_hujse([4, 11, 6, 10, 12])) self.assertFalse(vedno_hujse([11, 4, 6, 10, 12])) with self.assertRaises(RecursionError, msg="Funkcija 'vedno_hujse' ni rekurzivna"): vedno_hujse(list(range(2000))) class Test02Dodatna(unittest.TestCase): def test_01_zapolnjenih(self): self.assertEqual(zapolnjenih([5, 3, 2, 8, 4, 1, 3], 9), 2) self.assertEqual(zapolnjenih([5, 3, 2, 8, 4, 1, 3], 10), 3) self.assertEqual(zapolnjenih([5, 3, 2, 8, 4, 1, 3], 8), 2) self.assertEqual(zapolnjenih([5, 3, 2, 8, 4, 1, 3], 6), 1) self.assertEqual(zapolnjenih([5, 3, 2, 8, 4, 1, 3], 3), 0) self.assertEqual(zapolnjenih([5, 3, 2, 8, 4, 1, 3], 22), 5) self.assertEqual(zapolnjenih([5, 3, 2, 8, 4, 1, 3], 23), 6) self.assertEqual(zapolnjenih([5, 3, 2, 8, 4, 1, 3], 24), 6) self.assertEqual(zapolnjenih([5, 3, 2, 8, 4, 1, 3], 25), 6) self.assertEqual(zapolnjenih([5, 3, 2, 8, 4, 1, 3], 26), 7) self.assertEqual(zapolnjenih([5, 3, 2, 8, 4, 1, 3], 27), 7) self.assertEqual(zapolnjenih([5, 3, 2, 8, 4, 1, 3], 30), 7) self.assertEqual(zapolnjenih([5, 3, 2, 8, 4, 1, 3], 1000), 7) self.assertEqual(zapolnjenih(list(range(1, 2000)), 7), 3) with self.assertRaises(RecursionError, msg="Funkcija 'zapolnjenih' ni rekurzivna"): zapolnjenih(list(range(2000)), 2000 ** 2) if __name__ == "__main__": unittest.main()