Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from tempfile import NamedTemporaryFile
- import warnings
- import os
- import unittest
- class Test(unittest.TestCase):
- def setUp(self):
- self.obiski = [
- ("Ana", "kava"), ("Berta", "kava"), ("Cilka", "telovadba"),
- ("Dani", "zdravnik"), ("Ana", "zdravnik"), ("Cilka", "kava"),
- ("Ema", "telovadba")]
- warnings.simplefilter("ignore", ResourceWarning)
- class T1Obvezna(Test):
- def test_aktivnosti(self):
- self.assertEqual({"kava", "telovadba", "zdravnik"}, aktivnosti(self.obiski))
- def test_aktivnosti_osebe(self):
- self.assertEqual(["kava", "zdravnik"], aktivnosti_osebe("Ana", self.obiski))
- obiski = self.obiski + [("Ana", "kava")]
- self.assertEqual(["kava", "zdravnik", "kava"], aktivnosti_osebe("Ana", obiski))
- self.assertEqual(["telovadba", "kava"], aktivnosti_osebe("Cilka", self.obiski))
- def test_kdo_tam(self):
- self.assertEqual({"Ana", "Berta", "Cilka"}, kdo_tam("kava", self.obiski))
- self.assertEqual({"Ema", "Cilka"}, kdo_tam("telovadba", self.obiski))
- def test_koliko_tam(self):
- self.assertEqual(3, koliko_tam("kava", self.obiski))
- self.assertEqual(2, koliko_tam("telovadba", self.obiski))
- class T2Dodatna(Test):
- def test_beri_aktivnosti(self):
- with NamedTemporaryFile("wt", delete=False) as f:
- try:
- for kdo, kje in self.obiski:
- f.write(f"{kdo} {kje}\n")
- f.close()
- self.assertEqual(self.obiski, preberi_aktivnosti(f.name))
- finally:
- os.remove(f.name)
- def test_slovar_skupin(self):
- self.assertEqual(
- {"kava": {"Ana", "Berta", "Cilka"},
- "zdravnik": {"Dani", "Ana"},
- "telovadba": {"Cilka", "Ema"}},
- slovar_skupin(self.obiski))
- self.assertEqual(
- {"kava": {"Ana", "Berta"}},
- slovar_skupin([("Ana", "kava"), ("Berta", "kava")]))
- def test_skupine(self):
- def form(s):
- return sorted(s, key=lambda x: "-".join(sorted(x)))
- self.assertEqual(
- form([{"Ana", "Berta", "Cilka"}, {"Dani", "Ana"}, {"Cilka", "Ema"}]),
- form(skupine(self.obiski)))
- def test_okuzen(self):
- self.assertTrue(okuzen(["miza", "kljuka", "stol", "milo", "kljuka", "milo"]))
- self.assertTrue(okuzen(["miza", "kljuka", "milo", "milo", "kljuka", "kozarec"]))
- self.assertFalse(okuzen(["miza", "kljuka", "milo", "milo", "kljuka", "milo"]))
- self.assertFalse(okuzen(["miza", "kljuka", "milo", "milo", "kljuka"]))
- class T3BoljDodatna(Test):
- def test_okuzeni(self):
- skupine = [{"Ana", "Berta", "Cilka"}, {"Dani", "Ana"}, {"Cilka", "Ema"}, {"Fanči"}]
- self.assertEqual({"Ana", "Berta", "Cilka", "Dani"},
- okuzeni(skupine, {"Ana"}))
- self.assertEqual({"Ana", "Berta", "Cilka", "Ema"},
- okuzeni(skupine, {"Cilka"}))
- self.assertEqual({"Ana", "Cilka", "Dani", "Ema"},
- okuzeni(skupine, {"Ema", "Dani"}))
- self.assertEqual({"Ana", "Berta", "Cilka", "Dani", "Ema"},
- okuzeni(skupine, {"Ana", "Ema"}))
- self.assertEqual({"Cilka", "Ema"},
- okuzeni(skupine, {"Ema"}))
- self.assertEqual({"Fanči"},
- okuzeni(skupine, {"Fanči"}))
- if __name__ == "__main__":
- unittest.main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement