import unittest from random import randint import os import warnings class Test(unittest.TestCase): def setUp(self): super().setUp() warnings.simplefilter("ignore", ResourceWarning) def test_01_zakladi(self): self.assertEqual(zakladi([(5, 3)]), ">5 ^3") self.assertEqual(zakladi([(-25, -8)]), "<25 v8") self.assertEqual(zakladi([(0, -8)]), "v8") self.assertEqual(zakladi([(12, 0)]), ">12") self.assertEqual(zakladi([(0, 0)]), "") self.assertEqual(zakladi([(1, 2), (5, 0)]), ">1 ^2 >4 v2") self.assertEqual(zakladi([(1, 2), (5, 2)]), ">1 ^2 >4") self.assertEqual(zakladi([(1, 2), (1, 2)]), ">1 ^2") self.assertEqual(zakladi([(1, 2), (1, 1)]), ">1 ^2 v1") self.assertEqual(zakladi([(2, 3), (4, 3), (-2, -1), (2, -4), (2, -1), (-2, 3)]), ">2 ^3 >2 <6 v4 >4 v3 ^3 <4 ^4") def test_02_spisek(self): recepti = { "Palačinke": {("Jajca", 4), ("Mleko", 1), ("Moka", 0.25)}, "Kruh": {("Moka", 1), ("Kvas", 1)}, "Pohani zrezki": {("Zrezek", 4), ("Jajca", 1)}, "Mlečni riž": {("Riž", 0.125), ("Mleko", 0.5)}, } self.assertEqual(spisek({("Palačinke", 1)}, recepti), {("Jajca", 4), ("Mleko", 1), ("Moka", 0.25)}) self.assertEqual(spisek({("Palačinke", 3)}, recepti), {("Jajca", 12), ("Mleko", 3), ("Moka", 0.75)}) self.assertEqual(spisek({("Palačinke", 3), ("Mlečni riž", 2)}, recepti), {("Jajca", 12), ("Mleko", 4), ("Moka", 0.75), ("Riž", 0.25)}) self.assertEqual(spisek({("Palačinke", 3), ("Mlečni riž", 2), ("Kruh", 3)}, recepti), {("Jajca", 12), ("Mleko", 4), ("Moka", 3.75), ("Riž", 0.25), ("Kvas", 3)}) def test_03_streli(self): fn = f"streli{randint(1000, 9999)}" try: with open(fn, "wt") as f: f.write("0 0\n3 4") self.assertAlmostEqual(streli(fn), 5) with open(fn, "wt") as f: f.write("""10.12 2.7 3.14 42 10.18 2.95 2.99 41.872 9.55 2.75 3.085 42.4 9.18 2.72 3.123 41.8 """) self.assertAlmostEqual(streli(fn), 39.80137652142197) finally: os.remove(fn) def test_04_praznih(self): self.assertEqual(praznih([]), 1) self.assertEqual(praznih([[], [], []]), 3) self.assertEqual(praznih([[], [[]], []]), 3) self.assertEqual(praznih([[], [[], []], []]), 4) self.assertEqual(praznih([[], [[], []], [[], []]]), 5) self.assertEqual(praznih([[], [[], [[], []]], [[], []]]), 6) self.assertEqual(praznih([[], [[], []], [[[], [], []], [[[]]], [], []]]), 9) def test_05_sledilnik(self): s = Sledilnik() s.zbolel("Kitajska") s.zbolel("Kitajska") s.zbolel("Kitajska") s.zbolel("Italija") s.zbolel("Slovenija") s.zbolel("Kitajska") s.zbolel("Italija") s.zbolel("Kr ena ladja") s.doloci_kontinent("Italija", "Evropa") s.doloci_kontinent("Slovenija", "Evropa") s.doloci_kontinent("Kitajska", "Azija") self.assertEqual(s.zbolelih("Italija"), 2) self.assertEqual(s.zbolelih("Kitajska"), 4) self.assertEqual(s.zbolelih("Paragvaj"), 0) self.assertEqual(s.zbolelih("Evropa"), 3) self.assertEqual(s.zbolelih("Azija"), 4) self.assertEqual(s.ozdravelih("Italija"), 0) self.assertEqual(s.ozdravelih("Kitajska"), 0) self.assertEqual(s.ozdravelih("Paragvaj"), 0) self.assertEqual(s.ozdravelih("Evropa"), 0) self.assertEqual(s.ozdravelih("Azija"), 0) self.assertEqual(s.bolnih("Italija"), 2) self.assertEqual(s.bolnih("Kitajska"), 4) self.assertEqual(s.bolnih("Paragvaj"), 0) self.assertEqual(s.bolnih("Evropa"), 3) self.assertEqual(s.bolnih("Azija"), 4) s.ozdravel("Kitajska") s.ozdravel("Kitajska") s.ozdravel("Italija") self.assertEqual(s.zbolelih("Italija"), 2) self.assertEqual(s.zbolelih("Kitajska"), 4) self.assertEqual(s.zbolelih("Paragvaj"), 0) self.assertEqual(s.zbolelih("Evropa"), 3) self.assertEqual(s.zbolelih("Azija"), 4) self.assertEqual(s.ozdravelih("Italija"), 1) self.assertEqual(s.ozdravelih("Kitajska"), 2) self.assertEqual(s.ozdravelih("Paragvaj"), 0) self.assertEqual(s.ozdravelih("Evropa"), 1) self.assertEqual(s.ozdravelih("Azija"), 2) self.assertEqual(s.bolnih("Italija"), 1) self.assertEqual(s.bolnih("Kitajska"), 2) self.assertEqual(s.bolnih("Paragvaj"), 0) self.assertEqual(s.bolnih("Evropa"), 2) self.assertEqual(s.bolnih("Azija"), 2) if __name__ == "__main__": unittest.main()