import unittest class Test(unittest.TestCase): def test_01_enkratni(self): self.assertEqual([4, 1, 5], enkratni([[1, 2, 3], [4, 1, 5], [2, 8], [3, 1, 2]])) self.assertEqual([42], enkratni([[1, 2, 3, 4, 5, 6, 7, 100, 200, 3000], [1, 2, 3, 4, 5, 6, 7, 100, 200, 3000][::-1], [42]])) def test_02_vsota(self): self.assertEqual(0, vsota([])) self.assertEqual(6, vsota([1, 2, 3])) self.assertEqual(1234567890, vsota([1234567890])) self.assertEqual(143, vsota([[1, 2], [[3, 4], 5, 113, [12]], [[[4]]], [-2, 1]])) def test_03_imena(self): self.assertEqual( ["ana", "berta", "cilka"], imena(["ana", "berta", "cilka"], {"ana (1)", "ana (2)", "cilka (2)", "ana (4)", "dani (7)"})) self.assertEqual( ["ana (3)", "berta (3)", "cilka (3)"], imena(["ana", "berta", "cilka"], {"berta", "ana (4)", "berta (2)", "cilka (2)", "ana (1)", "dani (7)"})) self.assertEqual( ["ana (3)", "berta (3)", "cilka (3)"], imena(["ana", "berta", "cilka"], {"berta", "ana (1)", "ana (2)", "cilka (2)", "ana (4)", "dani (7)"})) self.assertEqual( ["ana (1)", "berta (1)", "cilka (1)"], imena(["ana", "berta", "cilka"], {"berta", "ana (3)", "ana (2)", "cilka (2)", "ana (4)", "dani (7)"})) def test_04_intervali(self): self.assertEqual("1-3 (2), 5-9 (4), 10-19 (9), 21-21 (0) => 15", intervali("1-3, 5-9, 10-19, 21-21")) self.assertEqual("119586-119589 (3) => 3", intervali("119586-119589")) self.assertEqual("42-42 (0) => 0", intervali("42-42")) def test_05_unikado(self): u = Unikado(3) u.met(10) self.assertEqual([10, 0, 0], u.stanje()) self.assertEqual(1, u.zmagovalec()) u.met(3) self.assertEqual([10, 3, 0], u.stanje()) self.assertEqual(1, u.zmagovalec()) u.met(5) self.assertEqual([10, 3, 5], u.stanje()) self.assertEqual(1, u.zmagovalec()) u.met(7) self.assertEqual([17, 3, 5], u.stanje()) self.assertEqual(1, u.zmagovalec()) u.met(None) self.assertEqual([17, 3, 5], u.stanje()) self.assertEqual(1, u.zmagovalec()) u.met(3) # tretji tekmovalec izbije trojko drugega self.assertEqual([17, 0, 8], u.stanje()) self.assertEqual(1, u.zmagovalec()) u.met(3) # prvi tekmovalec izbije trojko tretjega self.assertEqual([20, 0, 5], u.stanje()) self.assertEqual(1, u.zmagovalec()) u.met(25) self.assertEqual([20, 25, 5], u.stanje()) self.assertEqual(2, u.zmagovalec()) u.met(25) self.assertEqual([20, 0, 30], u.stanje()) self.assertEqual(3, u.zmagovalec()) u.met(10) # izbije svojo self.assertEqual([20, 0, 30], u.stanje()) self.assertEqual(3, u.zmagovalec()) u.met(20) self.assertEqual([20, 20, 30], u.stanje()) self.assertEqual(3, u.zmagovalec()) u.met(1) self.assertEqual([20, 20, 31], u.stanje()) self.assertEqual(3, u.zmagovalec()) u.met(11) self.assertEqual([31, 20, 31], u.stanje()) self.assertIsNone(u.zmagovalec()) u2 = Unikado(1) self.assertEqual([0], u2.stanje()) self.assertEqual(1, u2.zmagovalec()) u2.met(5) u2.met(3) u2.met(5) self.assertEqual([8], u2.stanje()) self.assertEqual(1, u2.zmagovalec()) u2.met(None) self.assertEqual([8], u2.stanje()) self.assertEqual(1, u2.zmagovalec()) self.assertEqual([31, 20, 31], u.stanje()) self.assertIsNone(u.zmagovalec()) if __name__ == "__main__": unittest.main()