A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, R, S, T, U, V = "ABCDEFGHIJKLMNOPRSTUV" poti = { A: {B: {"gravel", "trava"}, V: {"pesci", "lonci"}}, B: {V: set()}, C: {B: {"bolt", "lonci"}, R: {"stopnice", "pesci", "lonci"}}, D: {}, E: {}, F: {D: {"stopnice", "pesci"}}, G: {F: {"trava", "crepinje"}, I: {"avtocesta"}}, H: {G: {"crepinje", "pesci"}, J: {"robniki", "bolt"}}, I: {E: {"trava", "lonci"}, P: {"gravel"}, R: {"stopnice", "robniki"}}, J: {L: {"gravel", "bolt"}}, K: {J: set(), M: {"stolnice", "bolt"}}, L: {}, M: {I: {"avtocesta"}, L: {"robniki", "pesci"}, N: {"rodeo"}}, N: {}, O: {P: {"gravel"}}, P: {S: set(), N: {"gravel"}}, R: {D: {"pesci"}, U: {"trava", "pesci"}, V: {"pesci", "lonci"}}, S: {}, T: {S: {"robniki", "trava"}}, U: {T: {"gravel", "trava"}}, V: {U: {"robniki", "lonci", "trava"}} } import unittest class Test_1_Obvezna(unittest.TestCase): def test_01_obstaja_pot(self): self.assertTrue(obstaja_pot(C, C)) self.assertTrue(obstaja_pot(C, R)) self.assertTrue(obstaja_pot(C, B)) self.assertTrue(obstaja_pot(C, V)) self.assertTrue(obstaja_pot(C, D)) self.assertFalse(obstaja_pot(C, F)) self.assertTrue(obstaja_pot(R, U)) self.assertTrue(obstaja_pot(R, T)) self.assertTrue(obstaja_pot(R, S)) self.assertFalse(obstaja_pot(R, P)) self.assertFalse(obstaja_pot(R, O)) self.assertTrue(obstaja_pot(I, E)) self.assertFalse(obstaja_pot(E, I)) def test_02_dosegljive(self): self.assertEqual({N}, dosegljive(N)) self.assertEqual({N, O, S, P}, dosegljive(O)) self.assertEqual({I, E, R, V, D, U, T, S, P, N}, dosegljive(I)) self.assertEqual({G, F, I, E, R, V, D, U, T, S, P, N}, dosegljive(G)) self.assertEqual({H, J, L, G, F, I, E, R, V, D, U, T, S, P, N}, dosegljive(H)) self.assertEqual({A, B, V, U, T, S}, dosegljive(A)) class Test_2_Dodatna(unittest.TestCase): def test_01_dolzina_poti(self): self.assertEqual(0, dolzina_poti(A, A)) self.assertEqual(1, dolzina_poti(A, V)) self.assertEqual(2, dolzina_poti(C, V)) self.assertEqual(3, dolzina_poti(G, S)) self.assertEqual(3, dolzina_poti(H, D)) self.assertEqual(2, dolzina_poti(K, N)) self.assertEqual(1, dolzina_poti(I, P)) self.assertEqual(3, dolzina_poti(I, T)) def test_02_najkrajsa_pot(self): self.assertEqual("A", najkrajsa_pot(A, A)) self.assertEqual("AV", najkrajsa_pot(A, V)) self.assertEqual("CBV", najkrajsa_pot(C, V)) self.assertEqual("GIPS", najkrajsa_pot(G, S)) self.assertEqual("HGFD", najkrajsa_pot(H, D)) self.assertEqual("IP", najkrajsa_pot(I, P)) self.assertEqual("IRUT", najkrajsa_pot(I, T)) if __name__ == "__main__": unittest.main()