import unittest class TestOgrevalna(unittest.TestCase): narocila = { "Ana": {"ričet", "jota", "pasulj"}, "Berta": {"jota", "pasulj", "pleskavica"}, "Cilka": {"kislo zelje", "jogurt"}, "Dani": {"pasulj", "ričet"} } def test_najpopularnejsa_jed(self): self.assertEqual(najpopularnejsa_jed(self.narocila), "pasulj") def test_skupne_jedi(self): self.assertEqual(skupne_jedi("Ana", "Berta", self.narocila), {"jota", "pasulj"}) self.assertEqual(skupne_jedi("Ana", "Cilka", self.narocila), set()) self.assertEqual(skupne_jedi("Ana", "Dani", self.narocila), {"pasulj", "ričet"}) self.assertEqual(skupne_jedi("Berta", "Cilka", self.narocila), set()) self.assertEqual(skupne_jedi("Berta", "Dani", self.narocila), {"pasulj"}) def test_zadovoljen(self): self.assertTrue(zadovoljen({"ričet", "jota"}, "Ana", self.narocila)) self.assertTrue(zadovoljen({"ričet", "jota", "jogurt"}, "Ana", self.narocila)) self.assertTrue(zadovoljen({"ričet", "špageti", "jogurt"}, "Ana", self.narocila)) self.assertTrue(zadovoljen({"ričet"}, "Ana", self.narocila)) self.assertTrue(zadovoljen({"ričet"}, "Dani", self.narocila)) self.assertFalse(zadovoljen({"špageti", "jogurt"}, "Ana", self.narocila)) self.assertFalse(zadovoljen({"ričet"}, "Cilka", self.narocila)) self.assertFalse(zadovoljen(set(), "Dani", self.narocila)) class TestObvezna(unittest.TestCase): narocila = { "Ana": {"ričet", "jota", "pasulj"}, "Berta": {"jota", "pasulj", "pleskavica"}, "Cilka": {"kislo zelje", "jogurt"}, "Dani": {"pasulj", "ričet"} } def test_vse_jedi(self): self.assertEqual(vse_jedi(self.narocila), {"ričet", "jota", "pasulj", "pleskavica", "kislo zelje", "jogurt"}) def test_zadovoljni(self): self.assertEqual(zadovoljni("ričet", self.narocila), {"Ana", "Dani"}) self.assertEqual(zadovoljni("pasulj", self.narocila), {"Ana", "Berta", "Dani"}) self.assertEqual(zadovoljni("jogurt", self.narocila), {"Cilka"}) self.assertEqual(zadovoljni("špageti", self.narocila), set()) def test_zadovoljni_dve_jedi(self): self.assertEqual(zadovoljni_dve_jedi("ričet", "jota", self.narocila), {"Ana", "Berta", "Dani"}) self.assertEqual(zadovoljni_dve_jedi("ričet", "špageti", self.narocila), {"Ana", "Dani"}) self.assertEqual(zadovoljni_dve_jedi("ričet", "jogurt", self.narocila), {"Ana", "Cilka", "Dani"}) self.assertEqual(zadovoljni_dve_jedi("kislo zelje", "jogurt", self.narocila), {"Cilka"}) self.assertEqual(zadovoljni_dve_jedi("makaroni", "špageti", self.narocila), set()) def zadovoljni_jedi(self): self.assertEqual(zadovoljni_jedi({"ričet", "jota", "pasulj"}, self.narocila), {"Ana", "Berta", "Dani"}) self.assertEqual(zadovoljni_jedi({"ričet", "jogurt"}, self.narocila), {"Ana", "Cilka", "Dani"}) self.assertEqual(zadovoljni_jedi({"ričet", "jogurt", "makaroni"}, self.narocila), {"Ana", "Cilka", "Dani"}) self.assertEqual(zadovoljni_jedi({"špageti", "ričet", "jogurt", "makaroni"}, self.narocila), {"Ana", "Cilka", "Dani"}) self.assertEqual(zadovoljni_jedi({"ričet"}, self.narocila), {"Ana", "Dani"}) self.assertEqual(zadovoljni_jedi({"jogurt"}, self.narocila), {"Cilka"}) self.assertEqual(zadovoljni_jedi({"makaroni"}, self.narocila), set()) self.assertEqual(zadovoljni_jedi(set(), self.narocila), set()) class TestDodatna(unittest.TestCase): def test_najmanjsi_nabor_jedi(self): narocila = { "Ana": {"ričet", "jota", "pasulj"}, "Berta": {"jota", "pasulj", "pleskavica"}, "Cilka": {"kislo zelje", "jogurt"}, "Dani": {"pasulj", "ričet"} } naj_nabor = najmanjsi_nabor_jedi(narocila) self.assertEqual(len(naj_nabor), 2) self.assertEqual(len(zadovoljni_jedi(naj_nabor, narocila)), 4) narocila = { "Ana": {"jota", "pasulj", "jogurt"}, "Berta": {"jota", "pasulj", "pleskavica"}, "Cilka": {"jogurt", "kislo zelje"}, "Dani": {"špageti"} } naj_nabor = najmanjsi_nabor_jedi(narocila) self.assertEqual(len(naj_nabor), 3) self.assertEqual(len(zadovoljni_jedi(naj_nabor, narocila)), 4) narocila = { "Ana": {"jota", "pasulj", "jogurt"}, "Berta": {"jota", "pasulj", "pleskavica"}, "Cilka": {"jogurt", "kislo zelje"}, "Dani": {"špageti"}, "Ema": {"špageti"} } naj_nabor = najmanjsi_nabor_jedi(narocila) self.assertEqual(len(naj_nabor), 3) self.assertEqual(len(zadovoljni_jedi(naj_nabor, narocila)), 5) narocila = { "Ana": {"jota", "pasulj", "jogurt"}, "Berta": {"jota", "pasulj", "pleskavica"}, "Cilka": {"jogurt", "kislo zelje"}, "Dani": {"špageti"}, "Ema": {"ohrovt"} } naj_nabor = najmanjsi_nabor_jedi(narocila) self.assertEqual(len(naj_nabor), 4) self.assertEqual(len(zadovoljni_jedi(naj_nabor, narocila)), 5) narocila = { "Ana": {"jota", "pasulj", "jogurt"}, "Berta": {"jota", "pasulj", "pleskavica"}, "Cilka": {"jogurt", "kislo zelje"}, "Dani": {"špageti", "ohrovt"}, "Ema": {"ohrovt"} } naj_nabor = najmanjsi_nabor_jedi(narocila) self.assertEqual(len(naj_nabor), 3) self.assertEqual(len(zadovoljni_jedi(naj_nabor, narocila)), 5) if __name__ == "__main__": unittest.main()