import unittest class TestCevi(unittest.TestCase): def setUp(self): self.cevi = {"a": "b", "b": "o", "c": "o", "d": "x", "e": "q", "g": "k", "h": "o", "i": "q", "j": "F", "l": "w", "m": "B", "n": "z", "p": "f", "q": "b", "r": "t", "s": "f", "t": "k", "u": "s", "v": "t", "x": "g", "y": "g", "z": "m", "A": "r", "C": "y", "D": "p", "E": "l", "F": "m", "w": "B"} self.cveke = {"Ana": "Cilka", "Berta": "Cilka", "Dani": "Ema", "Ema": "Fanci", "Greta": "Fanci"} self.par = {"Ana": "Benjamin"} def test_ocena_05(self): self.assertEqual(kam(self.cveke, "Ana"), "Cilka") self.assertEqual(kam(self.cveke, "Berta"), "Cilka") self.assertEqual(kam(self.cveke, "Cilka"), "Cilka") self.assertEqual(kam(self.cveke, "Dani"), "Fanci") self.assertEqual(kam(self.cveke, "Ema"), "Fanci") self.assertEqual(kam(self.cveke, "Fanci"), "Fanci") self.assertEqual(kam(self.cveke, "Greta"), "Fanci") resitve = "ao bo co dk eo ff gk ho io jB kk lB mB nB oo pf qo rk sf " \ "tk uf vk xk yk zB Ak BB Ck Df EB FB" for od, do in resitve.split(): self.assertEqual(kam(self.cevi, od), do, "iz {} gre kroglica v {}".format(od, do)) self.assertEqual(kam(self.par, "Ana"), "Benjamin") self.assertEqual(kam(self.par, "Benjamin"), "Benjamin") def test_ocena_06(self): def koliko_kam2(cevi, zacetne): return {k: v for k, v in koliko_kam(cevi, zacetne).items() if v} self.assertEqual(koliko_kam2(self.cveke, ["Ana", "Ana", "Greta", "Berta", "Cilka"]), {"Cilka": 4, "Fanci": 1}) self.assertEqual(koliko_kam2(self.cveke, []), {}) self.assertEqual(koliko_kam2(self.cevi, "i"), {"o": 1}) self.assertEqual(koliko_kam2(self.cevi, "ijeijeee"), {"o": 6, "B": 2}) self.assertEqual(koliko_kam2(self.cevi, "Benjamin"), {"o": 3, "B": 5}) self.assertEqual(koliko_kam2(self.cevi, "Anastazija"), {'f': 1, 'o': 4, 'B': 3, 'k': 2}) self.assertEqual(koliko_kam2(self.cevi, []), {}) self.assertEqual(koliko_kam2(self.par, ["Ana"]), {"Benjamin": 1}) self.assertEqual(koliko_kam2(self.par, ""), {}) def test_ocena_07(self): self.assertEqual(najpogostejsa(self.cveke, ["Ana", "Ana", "Greta", "Berta", "Cilka"]), "Cilka") self.assertEqual(najpogostejsa(self.cevi, "i"), "o") self.assertEqual(najpogostejsa(self.cevi, "ijeijeee"), "o") self.assertEqual(najpogostejsa(self.cevi, "Benjamin"), "B") self.assertEqual(najpogostejsa(self.cevi, "Anastazija"), 'o') self.assertEqual(najpogostejsa(self.par, ["Ana"]), "Benjamin") def test_ocena_08(self): self.assertEqual(zacetne(self.cveke), {"Ana", "Berta", "Dani", "Greta"}) self.assertEqual(koncne(self.cveke), {"Cilka", "Fanci"}) self.assertEqual(zacetne(self.cevi), set("acdehijnuvACDE")) self.assertEqual(koncne(self.cevi), set("ofkB")) self.assertEqual(zacetne(self.par), {"Ana"}) self.assertEqual(koncne(self.par), {"Benjamin"}) def test_ocena_09(self): self.assertEqual(viri(self.cveke), {"Cilka": {"Ana", "Berta", "Cilka"}, "Fanci": {"Dani", "Ema", "Fanci", "Greta"}}) self.assertEqual(viri(self.cevi), {"o": set("abhciqeo"), "f": set("Dpusf"), "k": set("ArtvkgxydC"), "B": set("jFElnzmwB")}) self.assertEqual(viri(self.par), {"Benjamin": {"Ana", "Benjamin"}}) def test_ocena_10(self): simpl_zap = "Ana>Cilka\nBerta>Cilka\nDani>Ema\nEma>Fanci\nGreta>Fanci" cevi_zap = "A>r\nC>y\nD>p\nE>l\nF>m\na>b\nb>o\nc>o\nd>x\ne>q\n" \ "g>k\nh>o\ni>q\nj>F\nl>w\nm>B\nn>z\np>f\nq>b\nr>t\n" \ "s>f\nt>k\nu>s\nv>t\nw>B\nx>g\ny>g\nz>m" par_zap = "Ana>Benjamin" self.assertEqual(set(zapisi(self.cevi).splitlines()), set(cevi_zap.splitlines())) self.assertEqual(set(zapisi(self.cveke).splitlines()), set(simpl_zap.splitlines())) self.assertEqual(set(zapisi(self.par).splitlines()), set(par_zap.splitlines())) self.assertEqual(preberi(simpl_zap), self.cveke) self.assertEqual(preberi(cevi_zap), self.cevi) self.assertEqual(preberi(par_zap), self.par) if __name__ == "__main__": unittest.main()