class TestMaksukortti(unittest.TestCase): def setUp(self): self.kortti = Maksukortti(10) def test_konstruktori_asettaa_saldon_oikein(self): self.assertEqual( str(self.kortti), "Kortilla on rahaa 10 euroa") def test_syo_edullisesti_vahentaa_saldoa_oikein(self): self.kortti.syo_edullisesti() self.assertEqual(str(self.kortti), "Kortilla on rahaa 7.5 euroa") def test_syo_maukkaasti_vahentaa_saldoa_oikein(self): self.kortti.syo_maukkaasti() self.assertEqual(str(self.kortti), "Kortilla on rahaa 6 euroa") def test_syo_edullisesti_ei_vie_saldoa_negatiiviseksi(self): self.kortti.syo_maukkaasti() self.kortti.syo_maukkaasti() # nyt kortin saldo on 2 self.kortti.syo_edullisesti() self.assertEqual(str(self.kortti), "Kortilla on rahaa 2 euroa") def test_syo_maukkaasti_ei_vie_saldoa_negatiiviseksi(self): self.kortti.syo_maukkaasti() self.kortti.syo_maukkaasti() # nyt kortin saldo on 2 self.kortti.syo_maukkaasti() self.assertEqual(str(self.kortti), "Kortilla on rahaa 2 euroa") def test_kortille_voi_ladata_rahaa(self): self.kortti.lataa_rahaa(25) self.assertEqual(str(self.kortti), "Kortilla on rahaa 35 euroa") def test_kortille_ei_voi_ladata_negatiivista_summaa(self): self.kortti.lataa_rahaa(-25) self.assertEqual(str(self.kortti), "Kortilla on rahaa 10 euroa") def test_kortin_saldo_ei_ylita_maksimiarvoa(self): self.kortti.lataa_rahaa(200) self.assertEqual(str(self.kortti), "Kortilla on rahaa 150 euroa") def test_syo_edullisesti_voi_kayttaa_koko_saldon(self): self.kortti.syo_edullisesti() self.kortti.syo_edullisesti() self.kortti.syo_edullisesti() # nyt kortin saldon on 2.50 self.kortti.syo_edullisesti() self.assertEqual(str(self.kortti), "Kortilla on rahaa 0.0 euroa") def test_syo_maukkaasti_voi_kayttaa_koko_saldon(self): maukaskortti = Maksukortti(4) maukaskortti.syo_maukkaasti() self.assertEqual(str(maukaskortti), "Kortilla on rahaa 0 euroa")
def test_korttiostolla_maukkaan_maksu_riittävä_metodi_palauttaa_true(self): maksukortti = Maksukortti(1000) self.assertEqual(self.kassapaate.syo_maukkaasti_kortilla(maksukortti), True)
def test_korttiostolla_maukkaan_maksu_ei_riittävä_metodi_palauttaa_false( self): maksukortti = Maksukortti(200) self.assertEqual(self.kassapaate.syo_maukkaasti_kortilla(maksukortti), False)
def test_epaonnistunut_maukkaan_lounaan_osto_kortilla_palauttaa_false( self): kortti = Maksukortti(200) arvo = self.kassa.syo_maukkaasti_kortilla(kortti) self.assertEqual(arvo, False)
def test_rahan_lataus_kortille_lisaa_kassan_arvoa_vastaavasti(self): kortti = Maksukortti(200) self.kassa.lataa_rahaa_kortille(kortti, 200) self.assertEqual(self.kassa.kassassa_rahaa, 100200)
def test_onnistunut_edullisen_lounaan_osto_kortilla_lisaa_myytyjen_edullisten_lounaiden_lukumaaraa( self): kortti = Maksukortti(300) self.kassa.syo_edullisesti_kortilla(kortti) self.assertEqual(self.kassa.edulliset, 1)
def test_onnistunut_maukkaan_lounaan_osto_kortilla_palauttaa_true(self): kortti = Maksukortti(500) arvo = self.kassa.syo_maukkaasti_kortilla(kortti) self.assertEqual(arvo, True)
def test_syo_maukkaat_kortilla_ei_rahaa_palauta_false(self): maksukortti2 = Maksukortti(200) self.assertEqual(self.kassapaate.syo_maukkaasti_kortilla(maksukortti2), False)
def test_edullisen_lounaan_saa_ostettua_kun_saldona_on_tasaraha(self): kortti = Maksukortti(2.5) kortti.syo_edullisesti() self.assertEqual(str(kortti), "Kortilla on rahaa 0.0 euroa")
def test_maukkaan_voi_ostaa_kun_rahaa_tasan(self): self.kortti = Maksukortti(4) self.kortti.syo_maukkaasti() self.assertEqual(str(self.kortti), "Kortilla on rahaa 0 euroa")
class TestMaksukortti(unittest.TestCase): def setUp(self): self.maksukortti = Maksukortti(10) def test_luotu_kortti_on_olemassa(self): self.assertNotEqual(self.maksukortti, None) # Kortin saldo alussa oikein def test_kortin_saldo_alussa_oikein(self): self.assertEqual(str(self.maksukortti), "saldo: 0.1") # Rahan lataaminen kasvattaa saldoa oikein def test_rahan_lataaminen_kasvattaa_saldoa_oikein(self): self.maksukortti.lataa_rahaa(140) self.assertEqual(str(self.maksukortti), "saldo: 1.5") # Rahan ottaminen toimii # Saldo vähenee oikein, jos rahaa on tarpeeksi def test_saldo_vahenee_jos_rahaa_on_tarpeeksi(self): self.maksukortti.lataa_rahaa(990) self.maksukortti.ota_rahaa(500) self.assertEqual(str(self.maksukortti), "saldo: 5.0") # Saldo ei muutu, jos rahaa ei ole tarpeeksi def test_saldo_ei_muutu_jos_rahaa_ei_tarpeeksi(self): self.maksukortti.ota_rahaa(100) self.assertEqual(str(self.maksukortti), "saldo: 0.1") # Metodi palauttaa True, jos rahat riittivät ja muuten False def test_palauta_true_jos_rahaa_tarpeeksi(self): self.maksukortti.lataa_rahaa(990) self.assertEqual(bool(self.maksukortti.ota_rahaa(500)), True) def test_palauta_false_jos_raha_ei_riita(self): self.assertEqual(bool(self.maksukortti.ota_rahaa(500)), False)
def test_edullisen_voi_ostaa_kun_rahaa_tasan(self): self.kortti = Maksukortti(2.5) self.kortti.syo_edullisesti() self.assertEqual(str(self.kortti), "Kortilla on rahaa 0.0 euroa")
from maksukortti import Maksukortti from kassapaate import Kassapaate unicafe_exactum = Kassapaate() kortti = Maksukortti(10000) unicafe_exactum.syo_edullisesti_kortilla(kortti) print(unicafe_exactum.edulliset) print(kortti)
def test_syo_maukkaasti_voi_kayttaa_koko_saldon(self): maukaskortti = Maksukortti(4) maukaskortti.syo_maukkaasti() self.assertEqual(str(maukaskortti), "Kortilla on rahaa 0 euroa")
def setUp(self): self.maksukortti = Maksukortti(10)
def test_maukkaan_lounaan_saa_ostettua_kun_saldona_on_tasaraha(self): kortti = Maksukortti(4) kortti.syo_maukkaasti() self.assertEqual(str(kortti), "Kortilla on rahaa 0 euroa")
def setUp(self): self.kortti = Maksukortti(10) self.kortti_2_5 = Maksukortti(2.5) self.kortti_4 = Maksukortti(4)
class TestMaksukortti(unittest.TestCase): def setUp(self): self.kortti = Maksukortti(10) def test_konstruktori_asettaa_saldon_oikein(self): self.assertEqual(str(self.kortti), "Kortilla on rahaa 10 euroa") def test_syo_edullisesti_vahentaa_saldoa_oikein(self): self.kortti.syo_edullisesti() self.assertEqual(str(self.kortti), "Kortilla on rahaa 7.5 euroa") def test_syo_maukkaasti_vahentaa_saldoa_oikein(self): self.kortti.syo_maukkaasti() self.assertEqual(str(self.kortti), "Kortilla on rahaa 6 euroa") def test_syo_edullisesti_ei_vie_saldoa_negatiiviseksi(self): self.kortti.syo_maukkaasti() self.kortti.syo_maukkaasti() # nyt kortin saldo on 2 self.kortti.syo_edullisesti() self.assertEqual(str(self.kortti), "Kortilla on rahaa 2 euroa") def test_syo_maukkaasti_ei_vie_saldoa_negatiiviseksi(self): self.kortti.syo_edullisesti() self.kortti.syo_edullisesti() self.kortti.syo_edullisesti() # kortilla nyt 2.5 euroa self.kortti.syo_maukkaasti() self.assertEqual(str(self.kortti), "Kortilla on rahaa 2.5 euroa") def test_kortille_voi_ladata_rahaa(self): self.kortti.lataa_rahaa(25) self.assertEqual(str(self.kortti), "Kortilla on rahaa 35 euroa") def test_kortille_ei_voi_ladata_neg_arvoa(self): self.kortti.lataa_rahaa(-20) self.assertEqual(str(self.kortti), "Kortilla on rahaa 10 euroa") def test_voi_ostaa_edullisen_jos_tasaraha_jalj(self): kortti = Maksukortti(2.5) kortti.syo_edullisesti() self.assertEqual(str(kortti), "Kortilla on rahaa 0.0 euroa") def test_voi_ostaa_maukkaan_jos_tasaraha_jalj(self): kortti = Maksukortti(4) kortti.syo_maukkaasti() self.assertEqual(str(kortti), "Kortilla on rahaa 0 euroa") def test_kortin_saldo_ei_ylita_maksimiarvoa(self): self.kortti.lataa_rahaa(200) self.assertEqual(str(self.kortti), "Kortilla on rahaa 150 euroa")
def test_onnistunut_edullisen_lounaan_osto_kortilla_ei_muuta_kassan_saldoa( self): kortti = Maksukortti(300) self.kassa.syo_edullisesti_kortilla(kortti) self.assertEqual(self.kassa.kassassa_rahaa, 100000)
def test_voi_ostaa_edullisen_jos_tasaraha_jalj(self): kortti = Maksukortti(2.5) kortti.syo_edullisesti() self.assertEqual(str(kortti), "Kortilla on rahaa 0.0 euroa")
def test_epaonnistunut_maukkaan_lounaan_osto_kortilla_ei_lisaa_myytyjen_maukkaiden_lounaiden_lukumaaraa( self): kortti = Maksukortti(200) self.kassa.syo_maukkaasti_kortilla(kortti) self.assertEqual(self.kassa.maukkaat, 0)
def test_voi_ostaa_maukkaan_jos_tasaraha_jalj(self): kortti = Maksukortti(4) kortti.syo_maukkaasti() self.assertEqual(str(kortti), "Kortilla on rahaa 0 euroa")
def test_epaonnistunut_maukkaan_lounaan_osto_kortilla_ei_muuta_kassan_saldoa( self): kortti = Maksukortti(200) self.kassa.syo_maukkaasti_kortilla(kortti) self.assertEqual(self.kassa.kassassa_rahaa, 100000)
class TestMaksukortti(unittest.TestCase): def setUp(self): self.kortti = Maksukortti(10) def test_konstruktori_asettaa_saldon_oikein(self): self.assertEqual(str(self.kortti), "Kortilla on rahaa 10 euroa") def test_syo_edullisesti_vahentaa_saldoa_oikein(self): self.kortti.syo_edullisesti() self.assertEqual(str(self.kortti), "Kortilla on rahaa 7.5 euroa") def test_syo_maukkaasti_vahentaa_saldoa_oikein(self): self.kortti.syo_maukkaasti() self.assertEqual(str(self.kortti), "Kortilla on rahaa 6 euroa") def test_syo_edullisesti_ei_vie_saldoa_negatiiviseksi(self): self.kortti.syo_maukkaasti() self.kortti.syo_maukkaasti() self.kortti.syo_edullisesti() self.assertEqual(str(self.kortti), "Kortilla on rahaa 2 euroa") def test_kortille_voi_ladata_rahaa(self): self.kortti.lataa_rahaa(25) self.assertEqual(str(self.kortti), "Kortilla on rahaa 35 euroa") def test_kortin_saldo_ei_ylita_maksimiarvoa(self): self.kortti.lataa_rahaa(200) self.assertEqual(str(self.kortti), "Kortilla on rahaa 150 euroa") def test_syo_maukkaasti_ei_vie_saldoa_negatiiviseksi(self): self.kortti.syo_maukkaasti() self.kortti.syo_maukkaasti() self.kortti.syo_maukkaasti() self.assertEqual(str(self.kortti), "Kortilla on rahaa 2 euroa") def test_negatiivisen_summan_lataaminen_ei_muuta_saldoa(self): self.kortti.lataa_rahaa(-25) self.assertEqual(str(self.kortti), "Kortilla on rahaa 10 euroa") def test_kortilla_pystyy_ostamaan_edullisen_lounaan(self): self.kortti.syo_maukkaasti() self.kortti.syo_maukkaasti() self.kortti.lataa_rahaa(0.5) self.kortti.syo_edullisesti() self.assertEqual(str(self.kortti), "Kortilla on rahaa 0.0 euroa") def test_kortilla_pystyy_ostamaan_maukkaan_lounaan(self): self.kortti.syo_maukkaasti() self.kortti.syo_maukkaasti() self.kortti.lataa_rahaa(2) self.kortti.syo_maukkaasti() self.assertEqual(str(self.kortti), "Kortilla on rahaa 0 euroa")
def test_rahan_lataus_kortille_ei_lisaa_kassan_arvoa_jos_summa_negatiivinen( self): kortti = Maksukortti(200) self.kassa.lataa_rahaa_kortille(kortti, -100) self.assertEqual(self.kassa.kassassa_rahaa, 100000)
class TestKassapaate(unittest.TestCase): def setUp(self): self.kassapaate = Kassapaate() self.maksukortti = Maksukortti(1000) def test_luotu_kortti_on_olemassa(self): self.assertNotEqual(self.maksukortti, None) def test_luotu_paate_on_ajantasalla_rahaa(self): self.kassapaate = Kassapaate() self.assertEqual(int(self.kassapaate.kassassa_rahaa), 100000) def test_luotu_paate_on_ajantasalla_edulliset(self): self.kassapaate = Kassapaate() self.assertEqual(int(self.kassapaate.edulliset), 0) def test_luotu_paate_on_ajantasalla_maukkaat(self): self.kassapaate = Kassapaate() self.assertEqual(int(self.kassapaate.maukkaat), 0) def test_edullisesti_kateisella_riittavasti_rahamaara_kasvaa(self): self.kassapaate = Kassapaate() self.kassapaate.syo_edullisesti_kateisella(240) self.assertEqual(int(self.kassapaate.kassassa_rahaa), 100240) def test_edullisesti_kateisella_riittavasti_vaihtoraha_oikein(self): self.kassapaate = Kassapaate() self.kassapaate.syo_edullisesti_kateisella(250) self.assertEqual(int(self.kassapaate.syo_edullisesti_kateisella(250)), 10) def test_edullisesti_kateisella_ei_riittavasti_rahamaara_ei_muutu(self): self.kassapaate = Kassapaate() self.kassapaate.syo_edullisesti_kateisella(20) self.assertEqual(int(self.kassapaate.kassassa_rahaa), 100000) def test_edullisesti_kateisella_ei_riittavasti_rahat_palautuvat(self): self.kassapaate = Kassapaate() self.kassapaate.syo_edullisesti_kateisella(20) self.assertEqual(int(self.kassapaate.syo_edullisesti_kateisella(20)), 20) def test_edullisesti_kateisella_ei_riittavasti_myydyt_ei_muutu(self): self.kassapaate = Kassapaate() self.kassapaate.syo_edullisesti_kateisella(20) self.assertEqual( int(self.kassapaate.edulliset) + int(self.kassapaate.maukkaat), 0) def test_maukkaasti_kateisella_riittavasti_rahamaara_kasvaa(self): self.kassapaate = Kassapaate() self.kassapaate.syo_maukkaasti_kateisella(400) self.assertEqual(int(self.kassapaate.kassassa_rahaa), 100400) def test_maukkaasti_kateisella_riittavasti_vaihtoraha_oikein(self): self.kassapaate = Kassapaate() self.kassapaate.syo_maukkaasti_kateisella(450) self.assertEqual(int(self.kassapaate.syo_maukkaasti_kateisella(450)), 50) def test_maukkaasti_kateisella_ei_riittavasti_rahamaara_ei_muutu(self): self.kassapaate = Kassapaate() self.kassapaate.syo_maukkaasti_kateisella(20) self.assertEqual(int(self.kassapaate.kassassa_rahaa), 100000) def test_maukkaastii_kateisella_ei_riittavasti_rahat_palautuvat(self): self.kassapaate = Kassapaate() self.kassapaate.syo_maukkaasti_kateisella(20) self.assertEqual(int(self.kassapaate.syo_maukkaasti_kateisella(20)), 20) def test_maukkaasti_kateisella_ei_riittavasti_myydyt_ei_muutu(self): self.kassapaate = Kassapaate() self.kassapaate.syo_maukkaasti_kateisella(20) self.assertEqual( int(self.kassapaate.edulliset) + int(self.kassapaate.maukkaat), 0) def test_kortti_palauttaa_tosi(self): self.maksukortti.ota_rahaa(10) self.assertTrue(str(self.maksukortti.ota_rahaa(10)), True) def test_kortin_saldo_vahenee_oikein_jos_rahaa_tarpeeksi_edulliseen(self): self.kassapaate.syo_edullisesti_kortilla(self.maksukortti) self.assertEqual(str(self.maksukortti), "saldo: 7.6") def test_kortilla_edullisten_maara_kasvaa(self): self.kassapaate.syo_edullisesti_kortilla(self.maksukortti) self.assertEqual(int(self.kassapaate.edulliset), 1) def test_kortilla_ei_varaa_edulliseen(self): self.kassapaate.syo_edullisesti_kortilla(self.maksukortti) self.kassapaate.syo_edullisesti_kortilla(self.maksukortti) self.kassapaate.syo_edullisesti_kortilla(self.maksukortti) self.kassapaate.syo_edullisesti_kortilla(self.maksukortti) self.assertTrue( str(self.kassapaate.syo_edullisesti_kortilla(self.maksukortti)), False) def test_kortilla_ei_varaa_edulliseen_ei_veloiteta(self): self.kassapaate.syo_edullisesti_kortilla(self.maksukortti) self.kassapaate.syo_edullisesti_kortilla(self.maksukortti) self.kassapaate.syo_edullisesti_kortilla(self.maksukortti) self.kassapaate.syo_edullisesti_kortilla( self.maksukortti) #saldo riittää neljään edulliseen self.kassapaate.syo_edullisesti_kortilla( self.maksukortti) #viidettä ei veloiteta self.assertEqual(str(self.maksukortti), "saldo: 0.4") def test_kortilla_ei_varaa_edulliseen_myydyt_muuttumaton(self): self.kassapaate.syo_edullisesti_kortilla(self.maksukortti) self.kassapaate.syo_edullisesti_kortilla(self.maksukortti) self.kassapaate.syo_edullisesti_kortilla(self.maksukortti) self.kassapaate.syo_edullisesti_kortilla( self.maksukortti) #saldo riittää neljään edulliseen self.kassapaate.syo_edullisesti_kortilla( self.maksukortti) #viidettä ei myydä self.assertEqual( int(self.kassapaate.edulliset) + int(self.kassapaate.maukkaat), 4) def test_kortin_saldo_vahenee_oikein_jos_rahaa_tarpeeksi_maukkaaseen(self): self.kassapaate.syo_maukkaasti_kortilla(self.maksukortti) self.assertEqual(str(self.maksukortti), "saldo: 6.0") def test_kortilla_maukkaiden_maara_kasvaa(self): self.kassapaate.syo_maukkaasti_kortilla(self.maksukortti) self.assertEqual(int(self.kassapaate.maukkaat), 1) def test_kortilla_ei_varaa_maukkaaseen(self): self.kassapaate.syo_maukkaasti_kortilla(self.maksukortti) self.kassapaate.syo_maukkaasti_kortilla( self.maksukortti) #saldo riittää kolmeen maukkaaseen self.kassapaate.syo_maukkaasti_kortilla( self.maksukortti) #neljättä ei veloiteta self.assertTrue( str(self.kassapaate.syo_edullisesti_kortilla(self.maksukortti)), False) def test_kortilla_ei_varaa_maukkaaseen_myydyt_muuttumaton(self): self.kassapaate.syo_maukkaasti_kortilla(self.maksukortti) self.kassapaate.syo_maukkaasti_kortilla( self.maksukortti) #saldo riittää kahteen maukkaaseen self.kassapaate.syo_maukkaasti_kortilla( self.maksukortti) #kolmatta ei myydä self.assertEqual( int(self.kassapaate.edulliset) + int(self.kassapaate.maukkaat), 2) def test_kortilla_ei_varaa_maukkaaseen_ei_veloiteta(self): self.kassapaate.syo_maukkaasti_kortilla(self.maksukortti) self.kassapaate.syo_maukkaasti_kortilla( self.maksukortti) #saldo riittää kahteen maukkaaseen self.kassapaate.syo_maukkaasti_kortilla( self.maksukortti) #kolmatta ei myydä self.assertEqual(str(self.maksukortti), "saldo: 2.0") def test_rahamaara_ei_muutu_korttiostoksesta(self): self.kassapaate.syo_maukkaasti_kortilla(self.maksukortti) self.kassapaate.syo_edullisesti_kortilla(self.maksukortti) self.assertEqual(int(self.kassapaate.kassassa_rahaa), 100000) def test_kortin_saldo_muuttuu_ladattaessa(self): self.kassapaate.lataa_rahaa_kortille(self.maksukortti, 12345) self.assertEqual(str(self.maksukortti), "saldo: 133.45") def test_rahamaara_muuttuu_ladattaessa(self): self.kassapaate.lataa_rahaa_kortille(self.maksukortti, 12345) self.assertEqual(int(self.kassapaate.kassassa_rahaa), 112345) def test_rahamaara_ei_muutu_ladattaessa_miinusta(self): self.kassapaate.lataa_rahaa_kortille(self.maksukortti, -1) self.assertTrue( str(self.kassapaate.lataa_rahaa_kortille(self.maksukortti, -1)), None)
def test_korttiostolla_maukkaan_maksu_ei_riittävä_summa_ei_veloitettu_kortilta( self): maksukortti = Maksukortti(200) self.kassapaate.syo_maukkaasti_kortilla(maksukortti) self.assertEqual(str(maksukortti), "saldo: 2.0")
def setUp(self): self.kassapaate = Kassapaate() self.maksukortti = Maksukortti(1000)
def test_korttiostolla_maukkaan_maksu_ei_riittävä_lounaita_ei_lisää(self): maksukortti = Maksukortti(200) self.kassapaate.syo_maukkaasti_kortilla(maksukortti) self.assertEqual(str(self.kassapaate), "saldo: 1000.0; edullisia: 0; maukkaita: 0")
def setUp(self): self.kassipaate = Kassapaate() self.pankkikortti = Maksukortti(1000) self.kassipaate.kassassa_rahaa = 1000 self.kassipaate.edulliset = 0 self.kassipaate.maukkaat = 0