def main(): mehua = Varasto(100.0) olutta = Varasto(100.0, 20.2) print_initial(mehua, olutta) test_mehu_setterit(mehua) test_virheet_luonti() test_liikaa(mehua, olutta)
def test_virheet_luonti(): print("Virhetilanteita:") print("Varasto(-100.0);") huono = Varasto(-100.0) print(huono) print("Varasto(100.0, -50.7)") huono = Varasto(100.0, -50.7) print(huono)
def test_alkuSaldoNeg(self): self.varasto = Varasto(10, -2) self.assertAlmostEqual(self.varasto.saldo, 0)
def test_konstruktori_ei_voi_luoda_negatiivista_saldoa(self): uusi_varasto = Varasto(8, -10) self.assertEqual(uusi_varasto.saldo, 0)
def test_alkuSaldo(self): self.varasto = Varasto(10, 5) self.assertAlmostEqual(self.varasto.saldo, 5)
def test_konstruktori_asettulla_alkusaldolla(self): tmp = Varasto(10, 1) self.assertAlmostEqual(tmp.saldo, 1)
class TestVarasto(unittest.TestCase): def setUp(self): self.varasto = Varasto(10) def test_konstruktori_luo_tyhjan_varaston(self): # https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertAlmostEqual self.assertAlmostEqual(self.varasto.saldo, 0) def test_konstruktori_epapositiivisella_tilavuudella(self): tmp = Varasto(-1) self.assertAlmostEqual(tmp.tilavuus, 0.0) def test_konstruktori_negatiivisella_alkusaldolla(self): tmp = Varasto(10, -1) self.assertAlmostEqual(tmp.saldo, 0.0) def test_konstruktori_asettulla_alkusaldolla(self): tmp = Varasto(10, 1) self.assertAlmostEqual(tmp.saldo, 1) def test_konstruktori_liian_suurella_alkusaldolla(self): tmp = Varasto(10, 12) self.assertAlmostEqual(tmp.saldo, 10) def test_uudella_varastolla_oikea_tilavuus(self): self.assertAlmostEqual(self.varasto.tilavuus, 10) def test_lisays_lisaa_saldoa(self): self.varasto.lisaa_varastoon(8) self.assertAlmostEqual(self.varasto.saldo, 8) def test_lisays_lisaa_pienentaa_vapaata_tilaa(self): self.varasto.lisaa_varastoon(8) # vapaata tilaa pitäisi vielä olla tilavuus-lisättävä määrä eli 2 self.assertAlmostEqual(self.varasto.paljonko_mahtuu(), 2) def test_lisays_negatiivinen_ei_muuta_saldoa(self): self.varasto.lisaa_varastoon(-1) self.assertAlmostEqual(self.varasto.saldo, 0) self.assertAlmostEqual(self.varasto.tilavuus, 10) def test_lisays_liian_paljon_tayttaa(self): self.varasto.lisaa_varastoon(1000) self.assertAlmostEqual(self.varasto.saldo, 10) def test_ottaminen_palauttaa_oikean_maaran(self): self.varasto.lisaa_varastoon(8) saatu_maara = self.varasto.ota_varastosta(2) self.assertAlmostEqual(saatu_maara, 2) def test_ottaminen_lisaa_tilaa(self): self.varasto.lisaa_varastoon(8) self.varasto.ota_varastosta(2) # varastossa pitäisi olla tilaa 10 - 8 + 2 eli 4 self.assertAlmostEqual(self.varasto.paljonko_mahtuu(), 4) def test_ottaminen_negatiivinen_palauttaa_oikean(self): self.varasto.lisaa_varastoon(8) self.assertAlmostEqual(self.varasto.ota_varastosta(-1), 0.0) def test_ottaminen_negatiivinen_ei_muuta_saldoa(self): self.varasto.lisaa_varastoon(8) self.varasto.ota_varastosta(-1) self.assertAlmostEqual(self.varasto.saldo, 8) def test_ottaminen_liikaa_palauttaa_loput(self): self.varasto.lisaa_varastoon(8) self.assertAlmostEqual(self.varasto.ota_varastosta(100), 8) def test_ottaminen_liikaa_nollaa_saldon(self): self.varasto.lisaa_varastoon(8) self.varasto.ota_varastosta(100) self.assertAlmostEqual(self.varasto.saldo, 0) def test_str(self): varasto_str = self.varasto.__str__() self.assertEqual(varasto_str, "saldo = 0, vielä tilaa 10")
def test_normaali(self): self.varasto = Varasto(10) self.assertAlmostEqual(self.varasto.tilavuus, 10)
def test_varastosta_ei_voi_ottaa_mitaan_jos_saldo_nolla(self): uusi_varasto = Varasto(0) self.varasto.ota_varastosta(-5) self.assertEqual(uusi_varasto.saldo, 0)
def test_alkumaara_liian_vahan(self): self.vorasto = Varasto(-10, -5) self.assertEqual(0, self.vorasto.paljonko_mahtuu())
def test_alkusaldo_liian_vahan(self): self.vorasto = Varasto(5, 10) self.assertEqual(0, self.vorasto.paljonko_mahtuu())
class TestVarasto(unittest.TestCase): def setUp(self): self.varasto = Varasto(10) def test_konstruktori_luo_tyhjan_varaston(self): # https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertAlmostEqual self.assertAlmostEqual(self.varasto.saldo, 0) def test_konstruktori_korjaa_negatiivisen_tilavuuden(self): varas = Varasto(-5,-5) self.assertAlmostEqual(varas.tilavuus, 0) def test_konstruktori_korjaa_negatiivisen_saldon(self): varas = Varasto(-5,-5) self.assertAlmostEqual(varas.saldo, 0) def test_konstruktori_tayttaa_saldon_tilavuuden_mukaan(self): varas = Varasto(3, 5) self.assertAlmostEqual(varas.saldo,3) def test_uudella_varastolla_oikea_tilavuus(self): self.assertAlmostEqual(self.varasto.tilavuus, 10) def test_lisays_lisaa_saldoa(self): self.varasto.lisaa_varastoon(8) self.assertAlmostEqual(self.varasto.saldo, 8) def test_neg_lisays_ei_muuta_saldoa(self): curSaldo = self.varasto.saldo self.varasto.lisaa_varastoon(-1) self.assertAlmostEqual(curSaldo, self.varasto.saldo) def test_lisays_ei_ylita_tilavuutta(self): self.varasto.lisaa_varastoon(100000) self.assertAlmostEqual(self.varasto.tilavuus, self.varasto.saldo) def test_lisays_lisaa_pienentaa_vapaata_tilaa(self): self.varasto.lisaa_varastoon(8) # vapaata tilaa pitäisi vielä olla tilavuus-lisättävä määrä eli 2 self.assertAlmostEqual(self.varasto.paljonko_mahtuu(), 2) def test_ottaminen_palauttaa_oikean_maaran(self): self.varasto.lisaa_varastoon(8) saatu_maara = self.varasto.ota_varastosta(2) self.assertAlmostEqual(saatu_maara, 2) def test_ottaminen_lisaa_tilaa(self): self.varasto.lisaa_varastoon(8) self.varasto.ota_varastosta(2) # varastossa pitäisi olla tilaa 10 - 8 + 2 eli 4 self.assertAlmostEqual(self.varasto.paljonko_mahtuu(), 4) def test_neg_ottaminen_ei_muuta(self): curSaldo = self.varasto.saldo self.varasto.ota_varastosta(-1) self.assertAlmostEqual(curSaldo, self.varasto.saldo) def test_kaikki_mita_voidaan(self): self.varasto.lisaa_varastoon(2) curSaldo = self.varasto.saldo self.assertAlmostEqual(curSaldo, self.varasto.ota_varastosta(10000)) def test_print(self): #saldo = 0, vielä tilaa 10 vastaus = str(self.varasto) self.assertAlmostEqual(vastaus, "saldo = 0, vielä tilaa 10")
class TestVarasto(unittest.TestCase): def setUp(self): self.varasto = Varasto(10) def test_konstruktori_luo_tyhjan_varaston(self): # https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertAlmostEqual self.assertAlmostEqual(self.varasto.saldo, 0) def test_uudella_varastolla_oikea_tilavuus(self): self.assertAlmostEqual(self.varasto.tilavuus, 10) def test_lisays_lisaa_saldoa(self): self.varasto.lisaa_varastoon(8) self.assertAlmostEqual(self.varasto.saldo, 8) def test_lisays_lisaa_pienentaa_vapaata_tilaa(self): self.varasto.lisaa_varastoon(8) # vapaata tilaa pitäisi vielä olla tilavuus-lisättävä määrä eli 2 self.assertAlmostEqual(self.varasto.paljonko_mahtuu(), 2) def test_ottaminen_palauttaa_oikean_maaran(self): self.varasto.lisaa_varastoon(8) saatu_maara = self.varasto.ota_varastosta(2) self.assertAlmostEqual(saatu_maara, 2) def test_ottaminen_lisaa_tilaa(self): self.varasto.lisaa_varastoon(8) self.varasto.ota_varastosta(2) # varastossa pitäisi olla tilaa 10 - 8 + 2 eli 4 self.assertAlmostEqual(self.varasto.paljonko_mahtuu(), 4) def test_laitetaan_liikaa(self): self.varasto.lisaa_varastoon(11) self.assertEqual(10, self.varasto.ota_varastosta(20)) def test_alkumaara_liian_vahan(self): self.vorasto = Varasto(-10, -5) self.assertEqual(0, self.vorasto.paljonko_mahtuu()) def test_varasto_tostring(self): self.assertTrue(type(self.varasto.__str__()) is str) def test_otetaan_negatiivinen_maara(self): self.assertEqual(0.0, self.varasto.ota_varastosta(-1)) def test_alkusaldo_liian_vahan(self): self.vorasto = Varasto(5, 10) self.assertEqual(0, self.vorasto.paljonko_mahtuu()) def test_lisataan_negatiivinen_maara(self): self.varasto.lisaa_varastoon(-5) self.assertEqual(10, self.varasto.paljonko_mahtuu())
def test_konstruktori_tayttaa_saldon_tilavuuden_mukaan(self): varas = Varasto(3, 5) self.assertAlmostEqual(varas.saldo,3)
def test_konstruktori_korjaa_negatiivisen_saldon(self): varas = Varasto(-5,-5) self.assertAlmostEqual(varas.saldo, 0)
def test_konstruktori_korjaa_negatiivisen_tilavuuden(self): varas = Varasto(-5,-5) self.assertAlmostEqual(varas.tilavuus, 0)
def test_alkuSaldoSama(self): self.varasto = Varasto(10, 10) self.assertAlmostEqual(self.varasto.saldo, 10)
def test_tyhja_saldo_negatiivisella_tilavuudella(self): self.assertAlmostEqual(Varasto(-1).tilavuus, 0)
class TestVarasto(unittest.TestCase): def test_normaali(self): self.varasto = Varasto(10) self.assertAlmostEqual(self.varasto.tilavuus, 10) ##Vaara alkutilavuus def test_setUpVaara(self): self.varasto = Varasto(-2) self.assertAlmostEqual(self.varasto.tilavuus, 2) ##Vaara alkutilavuus ja saldo def test_setUpVaaraVaara(self): self.varasto = Varasto(-2, -2) self.assertAlmostEqual(self.varasto.tilavuus, 2) #Alkusaldo 5 def test_alkuSaldo(self): self.varasto = Varasto(10, 5) self.assertAlmostEqual(self.varasto.saldo, 5) #Alkusaldo liian suuri def test_alkuSaldo(self): self.varasto = Varasto(10, 11) self.assertAlmostEqual(self.varasto.saldo, 10) #Alkusaldo neg def test_alkuSaldoNeg(self): self.varasto = Varasto(10, -2) self.assertAlmostEqual(self.varasto.saldo, 0) #Alkusaldo sama def test_alkuSaldoSama(self): self.varasto = Varasto(10, 10) self.assertAlmostEqual(self.varasto.saldo, 10) def setUp(self): self.varasto = Varasto(10) def test_konstruktori_luo_tyhjan_varaston(self): # https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertAlmostEqual self.assertAlmostEqual(self.varasto.saldo, 0) def test_uudella_varastolla_oikea_tilavuus(self): self.assertAlmostEqual(self.varasto.tilavuus, 10) #Lisätään täsmälleen oikea määrä def test_lisataan(self): self.varasto.lisaa_varastoon(10) self.assertAlmostEqual(self.varasto.saldo, 10) def test_lisays_lisaa_saldoa(self): self.varasto.lisaa_varastoon(8) self.assertAlmostEqual(self.varasto.saldo, 8) def test_lisays_lisaa_pienentaa_vapaata_tilaa(self): self.varasto.lisaa_varastoon(8) # vapaata tilaa pitäisi vielä olla tilavuus-lisättävä määrä eli 2 self.assertAlmostEqual(self.varasto.paljonko_mahtuu(), 2) def test_ottaminen_palauttaa_oikean_maaran(self): self.varasto.lisaa_varastoon(8) saatu_maara = self.varasto.ota_varastosta(2) self.assertAlmostEqual(saatu_maara, 2) def test_ottaminen_lisaa_tilaa(self): self.varasto.lisaa_varastoon(8) self.varasto.ota_varastosta(2) # varastossa pitäisi olla tilaa 10 - 8 + 2 eli 4 self.assertAlmostEqual(self.varasto.paljonko_mahtuu(), 4) #laitetaan negatiivinen def test_laitetaanNeg(self): self.varasto.lisaa_varastoon(-2) self.assertAlmostEqual(self.varasto.saldo, 0) ##laitetaan liikaa def test_laitetaanLiikaa(self): self.varasto.lisaa_varastoon(15) self.assertAlmostEqual(self.varasto.saldo, 10) ##laitetaan sama def test_laitetaanSama(self): self.varasto.lisaa_varastoon(10) self.assertAlmostEqual(self.varasto.saldo, 10) ##Otetaan liikaa def test_otetaanLiikaa(self): self.varasto.lisaa_varastoon(10) otettu = self.varasto.ota_varastosta(11) self.assertAlmostEqual(otettu, 10) ##Otetaan neg määrä def test_otetaanVaara(self): otettu = self.varasto.ota_varastosta(-2) self.assertAlmostEqual(otettu, 0) ##Otetaan nollasta def test_otetaanNollasta(self): self.assertAlmostEqual(self.varasto.ota_varastosta(2), 0) ##Otetaan sama määrä def test_otetaanSama(self): self.varasto.lisaa_varastoon(5) otettu = self.varasto.ota_varastosta(5) self.assertAlmostEqual(otettu, 5) #str def test_tulostus(self): self.assertEqual(str(self.varasto), "saldo = 0, vielä tilaa 10")
def test_konstruktori_epapositiivisella_tilavuudella(self): tmp = Varasto(-1) self.assertAlmostEqual(tmp.tilavuus, 0.0)
class TestVarasto(unittest.TestCase): def setUp(self): self.varasto = Varasto(10) def test_konstruktori_luo_tyhjan_varaston(self): # https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertAlmostEqual self.assertAlmostEqual(self.varasto.saldo, 0) def test_uudella_varastolla_oikea_tilavuus(self): self.assertAlmostEqual(self.varasto.tilavuus, 10) def test_lisays_lisaa_saldoa(self): self.varasto.lisaa_varastoon(8) self.assertAlmostEqual(self.varasto.saldo, 8) def test_lisays_lisaa_pienentaa_vapaata_tilaa(self): self.varasto.lisaa_varastoon(8) # vapaata tilaa pitäisi vielä olla tilavuus-lisättävä määrä eli 2 self.assertAlmostEqual(self.varasto.paljonko_mahtuu(), 2) def test_ottaminen_palauttaa_oikean_maaran(self): self.varasto.lisaa_varastoon(8) saatu_maara = self.varasto.ota_varastosta(2) self.assertAlmostEqual(saatu_maara, 2) def test_ottaminen_lisaa_tilaa(self): self.varasto.lisaa_varastoon(8) self.varasto.ota_varastosta(2) # varastossa pitäisi olla tilaa 10 - 8 + 2 eli 4 self.assertAlmostEqual(self.varasto.paljonko_mahtuu(), 4) def test_tyhja_saldo_negatiivisella_tilavuudella(self): self.assertAlmostEqual(Varasto(-1).tilavuus, 0) def test_str_kertoo_saldon_ja_tilan(self): self.assertAlmostEqual(str(self.varasto), "saldo = 0, vielä tilaa 10") def test_negatiivinen_alku_saldo_asetetaan_nollaan(self): self.assertAlmostEqual(Varasto(0, -5).saldo, 0) def test_negatiivisen_maaran_lisaaminen_ei_muuta_saldoa(self): self.varasto.lisaa_varastoon(-1) self.assertAlmostEqual(self.varasto.saldo, 0) def test_varasto_tayttyy_liialla_lisayksella(self): self.varasto.lisaa_varastoon(11) self.assertAlmostEqual(self.varasto.saldo, 10) def test_negatiivisen_maaran_ottaminen_palauttaa_nollan(self): self.assertAlmostEqual(self.varasto.ota_varastosta(-1), 0.0) def test_yli_saldon_ottaminen_nollaa_saldon(self): self.varasto.lisaa_varastoon(5) self.varasto.ota_varastosta(6) self.assertAlmostEqual(self.varasto.saldo, 0.0) def test_yli_saldon_ottaminen_palauttaa_koko_saldon(self): self.varasto.lisaa_varastoon(8) maara = self.varasto.ota_varastosta(15) self.assertAlmostEqual(maara, 8)
class TestVarasto(unittest.TestCase): def setUp(self): self.varasto = Varasto(10) def test_konstruktori_luo_tyhjan_varaston(self): # https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertAlmostEqual self.assertAlmostEqual(self.varasto.saldo, 0) def test_uudella_varastolla_oikea_tilavuus(self): self.assertAlmostEqual(self.varasto.tilavuus, 10) def test_konstruktori_ei_voi_luoda_negatiivista_varastoa(self): uusi_varasto = Varasto(-10) self.assertEqual(uusi_varasto.tilavuus, 0) def test_konstruktori_ei_voi_luoda_negatiivista_saldoa(self): uusi_varasto = Varasto(8, -10) self.assertEqual(uusi_varasto.saldo, 0) def test_lisays_lisaa_saldoa(self): self.varasto.lisaa_varastoon(8) self.assertAlmostEqual(self.varasto.saldo, 8) def test_lisays_ei_voi_lisata_negatiivista_saldoa(self): self.varasto.lisaa_varastoon(-6) self.assertEqual(self.varasto.saldo, 0) def test_lisays_lisaa_pienentaa_vapaata_tilaa(self): self.varasto.lisaa_varastoon(8) # vapaata tilaa pitäisi vielä olla tilavuus-lisättävä määrä eli 2 self.assertAlmostEqual(self.varasto.paljonko_mahtuu(), 2) def test_ei_voi_lisata_enempaa_kuin_on_tilaa(self): self.varasto.lisaa_varastoon(12) self.assertAlmostEqual(self.varasto.paljonko_mahtuu(), 0) self.assertEqual(self.varasto.tilavuus, 10) def test_ottaminen_palauttaa_oikean_maaran(self): self.varasto.lisaa_varastoon(8) saatu_maara = self.varasto.ota_varastosta(2) self.assertAlmostEqual(saatu_maara, 2) def test_varastosta_ei_voi_ottaa_enempaa_kuin_saldo(self): otetaan = self.varasto.ota_varastosta(15) maksimimaara = self.varasto.saldo self.assertEqual(otetaan, maksimimaara) def test_varastosta_ei_voi_ottaa_mitaan_jos_saldo_nolla(self): uusi_varasto = Varasto(0) self.varasto.ota_varastosta(-5) self.assertEqual(uusi_varasto.saldo, 0) def test_ottaminen_lisaa_tilaa(self): self.varasto.lisaa_varastoon(8) self.varasto.ota_varastosta(2) # varastossa pitäisi olla tilaa 10 - 8 + 2 eli 4 self.assertAlmostEqual(self.varasto.paljonko_mahtuu(), 4) def tulostus_toimii_oikein(self): saldo = self.varasto.saldo kapasiteetti = self.varasto.paljonko_mahtuu() tulostus = f"saldo = {saldo}, vielä tilaa {kapasiteetti}" vastaus = str(self.varasto) self.assertEqual(vastaus, tulostus)
def test_negatiivinen_alku_saldo_asetetaan_nollaan(self): self.assertAlmostEqual(Varasto(0, -5).saldo, 0)
class TestVarasto(unittest.TestCase): def setUp(self): self.varasto = Varasto(10) self.varastokaksi = Varasto(-1, -1) self.varastokolme = Varasto(10, 30) def test_konstruktori_luo_tyhjan_varaston(self): # https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertAlmostEqual self.assertAlmostEqual(self.varasto.saldo, 0) def test_tilavuus_ei_voi_olla_neg(self): self.assertAlmostEqual(self.varastokaksi.saldo, 0) def test_alkusaldo_ei_voi_olla_neg(self): self.assertAlmostEqual(self.varastokaksi.saldo, 0) def test_ylimaara_konstruktorissa(self): self.assertAlmostEqual(self.varastokolme.saldo, 10) def test_uudella_varastolla_oikea_tilavuus(self): self.assertAlmostEqual(self.varasto.tilavuus, 10) def test_lisays_lisaa_saldoa(self): self.varasto.lisaa_varastoon(8) self.assertAlmostEqual(self.varasto.saldo, 8) def test_lisays_lisaa_pienentaa_vapaata_tilaa(self): self.varasto.lisaa_varastoon(8) # vapaata tilaa pitäisi vielä olla tilavuus-lisättävä määrä eli 2 self.assertAlmostEqual(self.varasto.paljonko_mahtuu(), 2) def test_ottaminen_palauttaa_oikean_maaran(self): self.varasto.lisaa_varastoon(8) saatu_maara = self.varasto.ota_varastosta(2) self.assertAlmostEqual(saatu_maara, 2) def test_ottaminen_lisaa_tilaa(self): self.varasto.lisaa_varastoon(8) self.varasto.ota_varastosta(2) # varastossa pitäisi olla tilaa 10 - 8 + 2 eli 4 self.assertAlmostEqual(self.varasto.paljonko_mahtuu(), 4) def test_ei_voi_ottaa_neg(self): maara = self.varasto.ota_varastosta(-1) self.assertAlmostEqual(maara, 0) def test_ei_voi_ottaa_liikaa(self): self.varasto.lisaa_varastoon(6) maara = self.varasto.ota_varastosta(30) self.assertAlmostEqual(maara, 6) def test_ei_voi_lisata_neg(self): self.varasto.lisaa_varastoon(1) self.varasto.lisaa_varastoon(-1) self.assertAlmostEqual(self.varasto.saldo, 1) def test_ei_voi_lisata_liikaa(self): self.varasto.lisaa_varastoon(30) self.assertAlmostEqual(self.varasto.saldo, 10) def test_printtaus_oikein(self): tuloste = str(self.varasto) print(tuloste) self.assertAlmostEqual(tuloste, "saldo = 0, vielä tilaa 10")
def test_konstruktori_negatiivisella_alkusaldolla(self): tmp = Varasto(10, -1) self.assertAlmostEqual(tmp.saldo, 0.0)
def setUp(self): self.varasto = Varasto(10) self.varastokaksi = Varasto(-1, -1) self.varastokolme = Varasto(10, 30)
def test_konstruktori_liian_suurella_alkusaldolla(self): tmp = Varasto(10, 12) self.assertAlmostEqual(tmp.saldo, 10)
def test_setUpVaaraVaara(self): self.varasto = Varasto(-2, -2) self.assertAlmostEqual(self.varasto.tilavuus, 2)
def setUp(self): self.varasto = Varasto(10)
def test_konstruktori_ei_voi_luoda_negatiivista_varastoa(self): uusi_varasto = Varasto(-10) self.assertEqual(uusi_varasto.tilavuus, 0)