### Tule so testi za: # - vse, kar smo delali na predavanjih - če bi se radi še sami preskusili, # - vse, kar je še v zapiskih, vendar nismo uspeli narediti, # - naloge o rodbini, ki so med nalogami za vaje # - nekatere druge naloge za vajo rodbina = { "Adam": ["Matjaž", "Cilka", "Daniel", "Erik"], "Aleksander": [], "Alenka": [], "Barbara": [], "Cilka": [], "Daniel": ["Elizabeta", "Hans"], "Erik": [], "Elizabeta": ["Ludvik", "Jurij", "Barbara", "Herman", "Mihael"], "Franc": [], "Herman": ["Margareta"], "Hans": [], "Jožef": ["Alenka", "Aleksander", "Petra"], "Jurij": ["Franc", "Jožef"], "Ludvik": [], "Margareta": [], "Matjaž": ["Viljem"], "Mihael": [], "Petra": [], "Tadeja": [], "Viljem": ["Tadeja"], } import unittest class Testi_Predavanja(unittest.TestCase): def test_stevilo_otrok(self): self.assertEqual(stevilo_otrok("Adam"), 4) self.assertEqual(stevilo_otrok("Viljem"), 1) self.assertEqual(stevilo_otrok("Alenka"), 0) def test_stevilo_vnukov(self): self.assertEqual(stevilo_vnukov("Adam"), 3) self.assertEqual(stevilo_vnukov("Viljem"), 0) self.assertEqual(stevilo_vnukov("Elizabeta"), 3) self.assertEqual(stevilo_vnukov("Matjaž"), 1) def test_velikost_rodbine(self): self.assertEqual(velikost_rodbine("Adam"), 20) self.assertEqual(velikost_rodbine("Viljem"), 2) self.assertEqual(velikost_rodbine("Elizabeta"), 12) self.assertEqual(velikost_rodbine("Tadeja"), 1) def test_obstaja_ime(self): self.assertTrue(obstaja_ime("Adam", "Margareta")) self.assertTrue(obstaja_ime("Jurij", "Petra")) self.assertFalse(obstaja_ime("Jurij", "Alojzij")) self.assertFalse(obstaja_ime("Jurij", "Hans")) def test_najvec_otrok(self): self.assertEqual(najvec_otrok("Adam"), 5) self.assertEqual(najvec_otrok("Matjaž"), 1) self.assertEqual(najvec_otrok("Ludvik"), 0) self.assertEqual(najvec_otrok("Jurij"), 3) def test_najdaljse_ime(self): self.assertEqual(najdaljse_ime("Adam"), "Aleksander") self.assertEqual(najdaljse_ime("Matjaž"), "Matjaž") self.assertEqual(najdaljse_ime("Herman"), "Margareta") def test_globina(self): self.assertEqual(globina("Adam"), 5) self.assertEqual(globina("Viljem"), 1) self.assertEqual(globina("Tadeja"), 0) self.assertEqual(globina("Elizabeta"), 3) def test_stevilo_potomcev(self): self.assertEqual(stevilo_potomcev("Adam"), 19) self.assertEqual(stevilo_potomcev("Viljem"), 1) self.assertEqual(stevilo_potomcev("Elizabeta"), 11) self.assertEqual(stevilo_potomcev("Tadeja"), 0) class Testi_Vaje_Rodbina(unittest.TestCase): def test_kolikokrat_ime(self): self.assertEqual(kolikokrat_ime("Adam", "A"), 3) self.assertEqual(kolikokrat_ime("Adam", "E"), 2) self.assertEqual(kolikokrat_ime("Adam", "B"), 1) self.assertEqual(kolikokrat_ime("Adam", "G"), 0) def test_vsa_rodbina(self): self.assertSetEqual(vsa_rodbina("Jurij"), {"Jurij", "Franc", "Jožef", "Alenka", "Petra", "Aleksander"}) self.assertSetEqual(vsa_rodbina("Alenka"), {"Alenka"}) def test_vse_potomstvo(self): self.assertSetEqual(vse_potomstvo("Jurij"), {"Franc", "Jožef", "Alenka", "Petra", "Aleksander"}) self.assertSetEqual(vse_potomstvo("Alenka"), set()) def test_kako_dalec(self): self.assertEqual(kako_dalec("Elizabeta", "Petra"), 3) self.assertEqual(kako_dalec("Elizabeta", "Jurij"), 1) self.assertEqual(kako_dalec("Elizabeta", "Margareta"), 2) self.assertEqual(kako_dalec("Elizabeta", "Elizabeta"), 0) def test_pot_do(self): self.assertEqual(pot_do("Elizabeta", "Petra"), ["Elizabeta", "Jurij", "Jožef", "Petra"]) self.assertEqual(pot_do("Elizabeta", "Jurij"), ["Elizabeta", "Jurij"]) self.assertEqual(pot_do("Elizabeta", "Margareta"), ["Elizabeta", "Herman", "Margareta"]) class Testi_Vaje_Drugo(unittest.TestCase): def test_vsota2(self): self.assertEqual(vsota2([]), 0) self.assertEqual(vsota2([1, 2, 3, 4, 5]), 15) self.assertEqual(vsota2([1, [], [2, 3, [4]], 5]), 15) def test_convert(self): self.assertEqual(convert([]), ()) self.assertEqual(convert([1]), (1, ())) self.assertEqual(convert([5, 4, 6, 7, 1]), (5, (4, (6, (7, (1, ())))))) self.assertEqual(convert([5, 4, 6, 7, 1, 0]), (5, (4, (6, (7, (1, (0, ()))))))) def test_length(self): self.assertEqual(length(()), 0) self.assertEqual(length((1, ())), 1) self.assertEqual(length((5, (4, (6, (7, (1, ())))))), 5) self.assertEqual(length((5, (4, (6, (7, (1, (0, ()))))))), 6) def test_dup(self): self.assertEqual(dup((1, (2, ()))), (1, (1, (2, (2, ()))))) self.assertEqual(dup((5, (4, (6, (7, (1, ())))))), (5, (5, (4, (4, (6, (6, (7, (7, (1, (1, ()))))))))))) def test_reverse(self): self.assertEqual(reverse((5, (4, (6, (7, (1, ())))))), (1, (7, (6, (4, (5, ())))))) if __name__ == "__main__": unittest.main()