class Narocnik: def __init__(self): self.klici = [] # Semle dodajaj metode razreda Narocnik # ---------- vse od tu naprej pusti pri miru ------------- import unittest otroci = { "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"], } class Test02Izpit(unittest.TestCase): @classmethod def setUpClass(cls): cls.maxDiff = None def test01_ravnotezje_uravnotezeni(self): self.assertEqual(ravnotezje([3, 3, 3, 3]), 2) self.assertEqual(ravnotezje([3, 3, 3, 3, 3, 3, 3, 3]), 4) self.assertEqual(ravnotezje([3, 3]), 1) self.assertEqual(ravnotezje([1, 2, 3]), 2) self.assertEqual(ravnotezje([2, 1, 3]), 2) self.assertEqual(ravnotezje([3, 1, 2]), 1) self.assertEqual(ravnotezje([1, 1, 1, 1, 4]), 4) self.assertEqual(ravnotezje([4, 1, 1, 1, 1]), 1) def test01_ravnotezje_neenaki(self): self.assertEqual(ravnotezje([3, 4, 3, 3]), 2) self.assertEqual(ravnotezje([3, 5, 3, 3]), 2) self.assertEqual(ravnotezje([3, 2, 3, 3]), 2) self.assertEqual(ravnotezje([3, 1, 3, 3]), 2) self.assertEqual(ravnotezje([3, 1, 3, 5]), 3) # 7:5 je boljše kot 4:8 self.assertEqual(ravnotezje([4, 3, 3, 3]), 2) self.assertEqual(ravnotezje([5, 3, 3, 3]), 2) self.assertEqual(ravnotezje([2, 3, 3, 3]), 2) self.assertEqual(ravnotezje([1, 3, 3, 3]), 2) self.assertEqual(ravnotezje([1, 3, 3, 5]), 3) # 7:5 je boljše kot 4:8 self.assertEqual(ravnotezje([3, 3, 1, 5]), 2) self.assertEqual(ravnotezje([3, 3, 3, 4]), 2) self.assertEqual(ravnotezje([3, 3, 5, 3]), 2) self.assertEqual(ravnotezje([3, 3, 3, 6]), 2) self.assertEqual(ravnotezje([3, 3, 2, 3]), 2) self.assertEqual(ravnotezje([3, 3, 3, 2]), 2) self.assertEqual(ravnotezje([3, 3, 1, 3]), 2) self.assertEqual(ravnotezje([3, 3, 1, 3]), 2) self.assertEqual(ravnotezje([5, 3, 3, 1]), 1) # 7:5 je boljše kot 4:8 self.assertEqual(ravnotezje([5, 3, 1, 3]), 1) # 7:5 je boljše kot 4:8 self.assertEqual(ravnotezje([5, 1, 3, 3]), 2) self.assertEqual(ravnotezje([3, 3, 3, 3, 3, 3, 1]), 3) self.assertEqual(ravnotezje([1, 3, 3, 3, 3, 3, 3]), 4) self.assertEqual(ravnotezje([3, 3, 1, 3, 3, 3, 3]), 4) self.assertEqual(ravnotezje([3, 3, 3, 3, 1, 3, 3]), 3) self.assertEqual(ravnotezje([1, 2]), 1) self.assertEqual(ravnotezje([2, 1]), 1) def test02_k_ti(self): self.assertEqual(k_ti("abcdabcaba", 0), "a") self.assertEqual(k_ti("abcdabcaba", 1), "b") self.assertEqual(k_ti("abcdabcaba", 2), "c") self.assertEqual(k_ti("abcdabcaba", 3), "d") from random import shuffle crke = "abcdefghijklmnop" s = list("".join(c * (i + 1) for i, c in enumerate(crke))) shuffle(s) s = "".join(s) for i, c in enumerate(crke): k = len(crke) - i - 1 self.assertEqual( k_ti(s, k), c, "{}-ta najpogostejša črka v {} je {}".format(k, s, c)) def test03_brez_otrok(self): self.assertEqual(brez_otrok("Jožef"), 3) self.assertEqual(brez_otrok("Cilka"), 1) self.assertEqual(brez_otrok("Jurij"), 4) self.assertEqual(brez_otrok("Elizabeta"), 8) self.assertEqual(brez_otrok("Matjaž"), 1) self.assertEqual(brez_otrok("Adam"), 12) def test04_kandidati(self): self.assertEqual( kandidati({"Adam": "Eva", "Benjamin": "Cilka", "Daniel": "Eva", "Franc": "Greta", "Herman": "Eva", "Ivo": "Greta"}), {"Eva": {"Adam", "Daniel", "Herman"}, "Cilka": {"Benjamin"}, "Greta": {"Ivo", "Franc"}}) def test05_narocnik(self): ana = Narocnik() berta = Narocnik() self.assertEqual(ana.st_klicev(), 0) self.assertEqual(ana.dolzina_klicev(), 0) ana.dodaj_klic(30, 40) self.assertEqual(ana.st_klicev(), 1) self.assertEqual(ana.dolzina_klicev(), 10) self.assertEqual(ana.najdaljsi_klic(), 10) self.assertEqual(ana.najkrajsi_klic(), 10) self.assertEqual(berta.st_klicev(), 0) self.assertEqual(berta.dolzina_klicev(), 0) berta = Narocnik() self.assertEqual(berta.st_klicev(), 0) self.assertEqual(berta.dolzina_klicev(), 0) ana.dodaj_klic(1150, 1200) self.assertEqual(ana.st_klicev(), 2) self.assertEqual(ana.dolzina_klicev(), 60) self.assertEqual(ana.najdaljsi_klic(), 50) self.assertEqual(ana.najkrajsi_klic(), 10) if __name__ == "__main__": unittest.main()