Advertisement
Guest User

Untitled

a guest
Mar 30th, 2020
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.48 KB | None | 0 0
  1. from tempfile import NamedTemporaryFile
  2. import warnings
  3. import os
  4. import unittest
  5.  
  6.  
  7. class Test(unittest.TestCase):
  8. def setUp(self):
  9. self.obiski = [
  10. ("Ana", "kava"), ("Berta", "kava"), ("Cilka", "telovadba"),
  11. ("Dani", "zdravnik"), ("Ana", "zdravnik"), ("Cilka", "kava"),
  12. ("Ema", "telovadba")]
  13. warnings.simplefilter("ignore", ResourceWarning)
  14.  
  15.  
  16. class T1Obvezna(Test):
  17. def test_aktivnosti(self):
  18. self.assertEqual({"kava", "telovadba", "zdravnik"}, aktivnosti(self.obiski))
  19.  
  20. def test_aktivnosti_osebe(self):
  21. self.assertEqual(["kava", "zdravnik"], aktivnosti_osebe("Ana", self.obiski))
  22. obiski = self.obiski + [("Ana", "kava")]
  23. self.assertEqual(["kava", "zdravnik", "kava"], aktivnosti_osebe("Ana", obiski))
  24. self.assertEqual(["telovadba", "kava"], aktivnosti_osebe("Cilka", self.obiski))
  25.  
  26. def test_kdo_tam(self):
  27. self.assertEqual({"Ana", "Berta", "Cilka"}, kdo_tam("kava", self.obiski))
  28. self.assertEqual({"Ema", "Cilka"}, kdo_tam("telovadba", self.obiski))
  29.  
  30. def test_koliko_tam(self):
  31. self.assertEqual(3, koliko_tam("kava", self.obiski))
  32. self.assertEqual(2, koliko_tam("telovadba", self.obiski))
  33.  
  34.  
  35.  
  36. class T2Dodatna(Test):
  37. def test_beri_aktivnosti(self):
  38. with NamedTemporaryFile("wt", delete=False) as f:
  39. try:
  40. for kdo, kje in self.obiski:
  41. f.write(f"{kdo} {kje}\n")
  42. f.close()
  43.  
  44. self.assertEqual(self.obiski, preberi_aktivnosti(f.name))
  45. finally:
  46. os.remove(f.name)
  47.  
  48. def test_slovar_skupin(self):
  49. self.assertEqual(
  50. {"kava": {"Ana", "Berta", "Cilka"},
  51. "zdravnik": {"Dani", "Ana"},
  52. "telovadba": {"Cilka", "Ema"}},
  53. slovar_skupin(self.obiski))
  54. self.assertEqual(
  55. {"kava": {"Ana", "Berta"}},
  56. slovar_skupin([("Ana", "kava"), ("Berta", "kava")]))
  57.  
  58. def test_skupine(self):
  59. def form(s):
  60. return sorted(s, key=lambda x: "-".join(sorted(x)))
  61.  
  62. self.assertEqual(
  63. form([{"Ana", "Berta", "Cilka"}, {"Dani", "Ana"}, {"Cilka", "Ema"}]),
  64. form(skupine(self.obiski)))
  65.  
  66. def test_okuzen(self):
  67. self.assertTrue(okuzen(["miza", "kljuka", "stol", "milo", "kljuka", "milo"]))
  68. self.assertTrue(okuzen(["miza", "kljuka", "milo", "milo", "kljuka", "kozarec"]))
  69. self.assertFalse(okuzen(["miza", "kljuka", "milo", "milo", "kljuka", "milo"]))
  70. self.assertFalse(okuzen(["miza", "kljuka", "milo", "milo", "kljuka"]))
  71.  
  72.  
  73. class T3BoljDodatna(Test):
  74. def test_okuzeni(self):
  75. skupine = [{"Ana", "Berta", "Cilka"}, {"Dani", "Ana"}, {"Cilka", "Ema"}, {"Fanči"}]
  76. self.assertEqual({"Ana", "Berta", "Cilka", "Dani"},
  77. okuzeni(skupine, {"Ana"}))
  78. self.assertEqual({"Ana", "Berta", "Cilka", "Ema"},
  79. okuzeni(skupine, {"Cilka"}))
  80. self.assertEqual({"Ana", "Cilka", "Dani", "Ema"},
  81. okuzeni(skupine, {"Ema", "Dani"}))
  82. self.assertEqual({"Ana", "Berta", "Cilka", "Dani", "Ema"},
  83. okuzeni(skupine, {"Ana", "Ema"}))
  84. self.assertEqual({"Cilka", "Ema"},
  85. okuzeni(skupine, {"Ema"}))
  86. self.assertEqual({"Fanči"},
  87. okuzeni(skupine, {"Fanči"}))
  88.  
  89.  
  90. if __name__ == "__main__":
  91. unittest.main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement