import unittest class Test001Obvezna(unittest.TestCase): narocila = [("Ana", "sendvič"), ("Berta", "sendvič"), ("Cilka", "burek"), ("Dani", "jogurt"), ("Ema", "sendvič"), ("Fanči", "burek")] def test_narocniki(self): import random narocila = self.narocila.copy() random.shuffle(narocila) self.assertEqual(narocniki(narocila, "sendvič"), {"Ana", "Berta", "Ema"}) self.assertEqual(narocniki(narocila, "burek"), {"Cilka", "Fanči"}) self.assertEqual(narocniki(narocila, "jogurt"), {"Dani"}) self.assertEqual(narocniki(narocila, "korenček"), set()) def test_stevilo_narocil(self): self.assertEqual(stevilo_narocil(self.narocila, "sendvič"), 3) self.assertEqual(stevilo_narocil(self.narocila, "burek"), 2) self.assertEqual(stevilo_narocil(self.narocila, "jogurt"), 1) self.assertEqual(stevilo_narocil(self.narocila, "korenček"), 0) def test_slovar_narocil(self): self.assertEqual( slovar_narocil(self.narocila), {"Ana": "sendvič", "Berta": "sendvič", "Cilka": "burek", "Dani": "jogurt", "Ema": "sendvič", "Fanči": "burek"} ) self.assertEqual(slovar_narocil([]), {}) def test_najpopularnejse(self): self.assertEqual(najpopularnejse(self.narocila), "sendvič") def test_primanjkljaj(self): narocila = {"sendvič": 3, "burek": 2, "jogurt": 1} self.assertEqual(primanjkljaj(narocila, {"sendvič": 1, "burek": 5, "jogurt": 2}), {"sendvič": 2}) self.assertEqual(primanjkljaj(narocila, {"sendvič": 1, "burek": 1, "jogurt": 2}), {"sendvič": 2, "burek": 1}) self.assertEqual(primanjkljaj(narocila, {"sendvič": 1, "jogurt": 2}), {"sendvič": 2, "burek": 2}) self.assertEqual(primanjkljaj(narocila, {"sendvič": 1, "jogurt": 0}), {"sendvič": 2, "burek": 2, "jogurt": 1}) self.assertEqual(primanjkljaj(narocila, {}), narocila) def test_vsa_narocila(self): self.assertEqual( vsa_narocila(self.narocila), {"sendvič": {"Ana", "Berta", "Ema"}, "burek": {"Cilka", "Fanči"}, "jogurt": {"Dani"}} ) def test_kosovnica(self): self.assertEqual(kosovnica(self.narocila), {"sendvič": 3, "burek": 2, "jogurt": 1}) self.assertEqual(kosovnica([]), {}) def test_goljufi(self): self.assertEqual(goljufi(self.narocila), set()) self.assertEqual(goljufi(self.narocila + [("Greta", "korenček")]), set()) self.assertEqual(goljufi(self.narocila + [("Cilka", "jogurt"), ("Greta", "korenček")]), {"Cilka"}) self.assertEqual(goljufi(self.narocila + [("Cilka", "jogurt"), ("Ana", "burek"), ("Greta", "korenček")]), {"Ana", "Cilka"}) self.assertEqual(goljufi(self.narocila + [("Cilka", "jogurt"), ("Ana", "burek"), ("Ana", "jogurt"), ("Greta", "korenček")]), {"Ana", "Cilka"}) class Test02Dodatna(unittest.TestCase): narocila = [("Ana", "sendvič"), ("Berta", "sendvič"), ("Cilka", "burek"), ("Dani", "jogurt"), ("Ema", "sendvič"), ("Fanči", "burek")] def test_kosovnica_brez_goljufov(self): self.assertEqual(kosovnica_brez_goljufov(self.narocila), {"sendvič": 3, "burek": 2, "jogurt": 1}) self.assertEqual(kosovnica_brez_goljufov([]), {}) self.assertEqual( kosovnica_brez_goljufov( self.narocila + [("Cilka", "jogurt"), ("Ana", "burek"), ("Greta", "korenček")]), {"sendvič": 3, "burek": 2, "jogurt": 1, "korenček": 1}) if __name__ == "__main__": unittest.main()