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)) def test_04_potenciali(self): self.assertEqual( {A: 5, B: 5, C: 11, D: 10, E: 4, F: 10, G: 10, H: 5, I: 10, J: 4, K: 8, L: 5, M: 10, N: 2, O: 2, P: 2, R: 11, S: 4, T: 5, U: 7, V: 5}, potenciali(zemljevid)) self.assertEqual( {'E': 5, 'F': 3, 'G': 5}, potenciali({(E, F): 3, (E, G): 5, (F, E): 3, (G, E): 5})) if __name__ == "__main__": unittest.main()