A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, R, S, T, U, V = "ABCDEFGHIJKLMNOPRSTUV" zemljevid = {(A, B): 5, (A, V): 5, (B, V): 0, (B, C): 3, (C, R): 11, (D, R): 4, (D, F): 10, (E, I): 4, (F, G): 4, (G, H): 5, (G, I): 10, (H, J): 3, (I, M): 10, (I, P): 2, (I, R): 7, (J, K): 0, (J, L): 4, (K, M): 8, (L, M): 5, (M, N): 2, (N, P): 2, (O, P): 2, (P, S): 0, (R, U): 7, (R, V): 5, (S, T): 4, (T, U): 5, (U, V): 5} zemljevid.update({(b, a): v for (a, b), v in zemljevid.items()}) import unittest class Test01Obvezna(unittest.TestCase): def test_01_robnikov(self): self.assertEqual(5, robnikov(zemljevid, "AB")) self.assertEqual(10, robnikov(zemljevid, "ABVR")) self.assertEqual(32, robnikov(zemljevid, "ABVRCR")) self.assertEqual(45, robnikov(zemljevid, "ABVRCRIPST")) self.assertEqual(0, robnikov(zemljevid, "A")) def test_02_prevozno(self): self.assertEqual("B", prevozno(zemljevid, "ABR")) self.assertEqual("B", prevozno(zemljevid, "ABRDFE")) self.assertEqual("U", prevozno(zemljevid, "ABCRUSPI")) self.assertTrue(prevozno(zemljevid, "ABCRTSPO")) self.assertTrue(prevozno(zemljevid, "P")) def test_03_guma(self): # Ustavi se, ker ni poti self.assertEqual("B", guma(zemljevid, "ABR", 1000)) self.assertEqual("B", guma(zemljevid, "ABRDFE", 1000)) self.assertEqual("U", guma(zemljevid, "ABCRUSPI", 1000)) # Pride do konca self.assertEqual("T", guma(zemljevid, "ABVRCRIPST", 1000)) # Poči guma self.assertEqual("A", guma(zemljevid, "ABVRCRIPST", 2)) self.assertEqual("A", guma(zemljevid, "ABVRCRIPST", 5)) self.assertEqual("R", guma(zemljevid, "ABVRCRIPST", 15)) self.assertEqual("I", guma(zemljevid, "ABVRCRIPST", 40)) self.assertEqual("S", guma(zemljevid, "ABVRCRIPST", 42)) class Test02Dodatna(unittest.TestCase): def test_01_najlepse(self): self.assertEqual("R", najlepse(zemljevid)) def test_02_najlepsa(self): self.assertEqual(["R"], najlepsa(zemljevid, 1)) self.assertEqual(["R", "I"], najlepsa(zemljevid, 2)) self.assertEqual([], najlepsa(zemljevid, 0)) self.assertEqual(["R", "I", "M", "G", "U", "V"], najlepsa(zemljevid, 6)) if __name__ == "__main__": unittest.main()