import unittest class TestBlok(unittest.TestCase): def test_konstruktor(self): blok = Blok(3) def test_vseli(self): blok = Blok(3) blok2 = Blok(5) self.assertTrue(blok.vseli(1, "Ana")) self.assertTrue(blok.vseli(2, "Berta")) self.assertFalse(blok.vseli(1, "Cilka")) self.assertFalse(blok.vseli(1, "Ana")) self.assertTrue(blok.vseli(0, "Ana")) self.assertTrue(blok2.vseli(1, "Berta")) def test_stanovalec(self): blok = Blok(20) blok2 = Blok(5) for i in range(20): self.assertIsNone(blok.stanovalec(i)) self.assertTrue(blok.vseli(18, "Ana")) self.assertEqual(blok.stanovalec(18), "Ana") self.assertTrue(blok.vseli(2, "Berta")) self.assertEqual(blok.stanovalec(18), "Ana") self.assertEqual(blok.stanovalec(2), "Berta") self.assertFalse(blok.vseli(2, "Cilka")) self.assertEqual(blok.stanovalec(2), "Berta") self.assertIsNone(blok.stanovalec(1), "Berta") self.assertTrue(blok2.vseli(2, "Cilka")) self.assertEqual(blok.stanovalec(2), "Berta") self.assertEqual(blok2.stanovalec(2), "Cilka") def test_izseli(self): blok = Blok(20) self.assertTrue(blok.vseli(18, "Ana")) self.assertEqual(blok.stanovalec(18), "Ana") self.assertTrue(blok.vseli(2, "Berta")) self.assertEqual(blok.stanovalec(2), "Berta") self.assertFalse(blok.vseli(2, "Berta")) self.assertFalse(blok.vseli(2, "Cilka")) self.assertEqual(blok.stanovalec(2), "Berta") self.assertIsNone(blok.izseli(2), "Metoda 'izseli' naj ne vrača rezultata") self.assertIsNone(blok.stanovalec(2)) self.assertTrue(blok.vseli(2, "Cilka")) self.assertEqual(blok.stanovalec(2), "Cilka") def test_kamorkoli(self): blok = Blok(5) blok.vseli(2, "Ana") self.assertTrue(blok.kamorkoli("Berta")) self.assertIsNone(blok.stanovalec(0)) self.assertIsNone(blok.stanovalec(1)) self.assertEqual(blok.stanovalec(2), "Ana") self.assertIsNone(blok.stanovalec(3)) self.assertEqual(blok.stanovalec(4), "Berta") self.assertTrue(blok.kamorkoli("Cilka")) self.assertEqual(blok.stanovalec(3), "Cilka") self.assertFalse(blok.vseli(3, "Dani")) self.assertEqual(blok.stanovalec(3), "Cilka") self.assertTrue(blok.kamorkoli("Dani")) self.assertTrue(blok.kamorkoli("Ema")) self.assertEqual(blok.stanovalec(0), "Ema") self.assertEqual(blok.stanovalec(1), "Dani") self.assertEqual(blok.stanovalec(2), "Ana") self.assertEqual(blok.stanovalec(3), "Cilka") self.assertEqual(blok.stanovalec(4), "Berta") self.assertFalse(blok.kamorkoli("Fanci")) class TestNaselje(unittest.TestCase): def test_konstruktor(self): naselje = Naselje(["Triglav", "Bled", "Hosta", "Znojile"]) def test_vseli(self): naselje = Naselje(["Triglav", "Bled", "Hosta", "Znojile"]) naselje2 = Naselje(["Bled", "Kranj"]) self.assertTrue(naselje.vseli("Bled", "Ana")) self.assertTrue(naselje.vseli("Hosta", "Berta")) self.assertFalse(naselje.vseli("Bled", "Cilka")) self.assertFalse(naselje.vseli("Bled", "Ana")) self.assertTrue(naselje.vseli("Triglav", "Ana")) self.assertTrue(naselje2.vseli("Bled", "Berta")) def test_stanovalec(self): naselje = Naselje(["Triglav", "Bled", "Hosta", "Znojile"]) naselje2 = Naselje(["Bled", "Kranj"]) self.assertIsNone(naselje.stanovalec("Bled")) self.assertIsNone(naselje.stanovalec("Hosta")) self.assertTrue(naselje.vseli("Bled", "Ana")) self.assertEqual(naselje.stanovalec("Bled"), "Ana") self.assertIsNone(naselje.stanovalec("Hosta")) self.assertTrue(naselje.vseli("Hosta", "Berta")) self.assertEqual(naselje.stanovalec("Bled"), "Ana") self.assertFalse(naselje.vseli("Bled", "Cilka")) self.assertTrue(naselje2.vseli("Bled", "Cilka")) self.assertEqual(naselje.stanovalec("Bled"), "Ana") self.assertEqual(naselje2.stanovalec("Bled"), "Cilka") self.assertTrue(naselje.vseli("Triglav", "Cilka")) self.assertFalse(naselje.vseli("Bled", "Ana")) self.assertFalse(naselje.vseli("Triglav", "Ana")) self.assertTrue(naselje2.vseli("Kranj", "Berta")) self.assertEqual(naselje.stanovalec("Triglav"), "Cilka") self.assertEqual(naselje.stanovalec("Bled"), "Ana") self.assertEqual(naselje2.stanovalec("Kranj"), "Berta") def test_izseli(self): naselje = Naselje(["Triglav", "Bled", "Hosta", "Znojile"]) self.assertTrue(naselje.vseli("Bled", "Ana")) self.assertFalse(naselje.vseli("Bled", "Berta")) self.assertIsNone(naselje.izseli("Bled"), "Izseli naj ne vrača ničesar") self.assertIsNone(naselje.stanovalec("Bled")) self.assertTrue(naselje.vseli("Bled", "Berta")) def test_prostih(self): naselje = Naselje(["Triglav", "Bled", "Hosta", "Znojile"]) self.assertEqual(naselje.prostih(), 4) naselje2 = Naselje(["Bled", "Kranj"]) self.assertEqual(naselje.prostih(), 4) self.assertTrue(naselje.vseli("Bled", "Ana")) self.assertEqual(naselje.prostih(), 3) self.assertTrue(naselje.vseli("Hosta", "Berta")) self.assertEqual(naselje.prostih(), 2) self.assertFalse(naselje.vseli("Bled", "Cilka")) self.assertEqual(naselje.prostih(), 2) self.assertEqual(naselje2.prostih(), 2) self.assertTrue(naselje2.vseli("Bled", "Cilka")) self.assertEqual(naselje.prostih(), 2) self.assertEqual(naselje2.prostih(), 1) naselje.izseli("Bled") self.assertEqual(naselje.prostih(), 3) naselje.izseli("Hosta") self.assertEqual(naselje.prostih(), 4) class N5Knjizica(unittest.TestCase): def test_init(self): Knjizica() def test_izposodi_izposojeno(self): k1 = Knjizica() self.assertSetEqual(k1.izposojeno(), set()) k1.izposodi("Otok zakladov", 10) self.assertSetEqual(k1.izposojeno(), {"Otok zakladov"}) k2 = Knjizica() self.assertSetEqual(k2.izposojeno(), set()) k1.izposodi("Deset odtenkov zelene", 15) self.assertSetEqual(k1.izposojeno(), {"Otok zakladov", "Deset odtenkov zelene"}) k2.izposodi("Kapital", 20) self.assertSetEqual(k1.izposojeno(), {"Otok zakladov", "Deset odtenkov zelene"}) self.assertSetEqual(k2.izposojeno(), {"Kapital"}) def test_izposodi_vrni(self): k1 = Knjizica() k1.izposodi("Otok zakladov", 10) k1.izposodi("Deset odtenkov zelene", 15) k1.izposodi("Kapital", 20) k1.vrni("Otok zakladov") self.assertSetEqual(k1.izposojeno(), {"Deset odtenkov zelene", "Kapital"}) k1.vrni("Kapital") self.assertSetEqual(k1.izposojeno(), {"Deset odtenkov zelene"}) k1.vrni("Deset odtenkov zelene") self.assertSetEqual(k1.izposojeno(), set()) def test_zamudnina(self): k1 = Knjizica() k1.izposodi("Otok zakladov", 10) k1.izposodi("Deset odtenkov zelene", 15) k1.izposodi("Kapital", 20) self.assertEqual(k1.zamudnina(31), 0) self.assertEqual(k1.zamudnina(32), 1) self.assertEqual(k1.zamudnina(33), 2) self.assertEqual(k1.zamudnina(36), 5) self.assertEqual(k1.zamudnina(37), 6 + 1) self.assertEqual(k1.zamudnina(38), 7 + 2) self.assertEqual(k1.zamudnina(41), 10 + 5 + 0) self.assertEqual(k1.zamudnina(42), 11 + 6 + 1) self.assertEqual(k1.zamudnina(50), 19 + 14 + 9) if __name__ == "__main__": unittest.main()