Ejemplo n.º 1
0
    def test_kutsutaan_pankkia_oikealla_tilinumerolla_ja_summalla(self):
        pankki_mock = Mock()
        viitegeneraattori_mock = Mock(wraps=Viitegeneraattori())

        kauppa = Kauppa(pankki_mock, viitegeneraattori_mock)

        kauppa.aloita_ostokset()
        kauppa.lisaa_ostos(5)
        kauppa.lisaa_ostos(5)
        kauppa.maksa("1111")

        # katsotaan, että ensimmäisen ja toisen parametrin arvo on oikea
        pankki_mock.maksa.assert_called_with("1111", 10, ANY)
Ejemplo n.º 2
0
    def test_kutsutaan_pankki(self):
        pankki_mock = Mock()
        # laitetaan Mock-olio toteuttamaan Viitegeneraattori-luokan metodit
        viitegeneraattori_mock = Mock(wraps=Viitegeneraattori())

        kauppa = Kauppa(pankki_mock, viitegeneraattori_mock)

        kauppa.aloita_ostokset()
        kauppa.lisaa_ostos(5)
        kauppa.lisaa_ostos(5)
        kauppa.maksa("1111")

        pankki_mock.maksa.assert_called()
Ejemplo n.º 3
0
    def test_kaytetaan_maksussa_palautettua_viitetta(self):
        pankki_mock = Mock()
        viitegeneraattori_mock = Mock()

        # palautetaan aina arvo 55
        viitegeneraattori_mock.uusi.return_value = 55

        kauppa = Kauppa(pankki_mock, viitegeneraattori_mock)

        kauppa.aloita_ostokset()
        kauppa.lisaa_ostos(5)
        kauppa.lisaa_ostos(5)
        kauppa.maksa("1111")

        # katsotaan, että kolmannen parametrin arvo on oikea
        pankki_mock.maksa.assert_called_with(ANY, ANY, 55)
Ejemplo n.º 4
0
def main():
    my_net_bank = Pankki()
    viitteet = Viitegeneraattori()
    kumpula_bier_shop = Kauppa(my_net_bank, viitteet)

    kumpula_bier_shop.aloita_ostokset()
    kumpula_bier_shop.lisaa_ostos(10)
    kumpula_bier_shop.lisaa_ostos(7)
    kumpula_bier_shop.maksa("1234-1234")

    kumpula_bier_shop.aloita_ostokset()
    kumpula_bier_shop.lisaa_ostos(1)
    kumpula_bier_shop.lisaa_ostos(1)
    kumpula_bier_shop.lisaa_ostos(2)
    kumpula_bier_shop.lisaa_ostos(2)
    kumpula_bier_shop.maksa("4444-1111")
Ejemplo n.º 5
0
    def test_kaytetaan_perakkaisten_viitekutsujen_arvoja(self):
        pankki_mock = Mock()
        viitegeneraattori_mock = Mock()

        # määritellään että metodi palauttaa ensimmäisellä kutsulla 1, toisella 2 ja kolmannella 3
        viitegeneraattori_mock.uusi.side_effect = [1, 2, 3]

        kauppa = Kauppa(pankki_mock, viitegeneraattori_mock)

        kauppa.aloita_ostokset()
        kauppa.lisaa_ostos(5)
        kauppa.maksa("1111")

        # varmistetaan, että nyt käytössä ensimmäinen viite
        pankki_mock.maksa.assert_called_with(ANY, ANY, 1)

        kauppa.aloita_ostokset()
        kauppa.lisaa_ostos(1)
        kauppa.maksa("1222")

        # ...toinen viite
        pankki_mock.maksa.assert_called_with(ANY, ANY, 2)

        kauppa.aloita_ostokset()
        kauppa.lisaa_ostos(1)
        kauppa.maksa("4321")

        # ...ja kolmas viite
        pankki_mock.maksa.assert_called_with(ANY, ANY, 3)
Ejemplo n.º 6
0
    def test_pyydetaan_uusi_viite_jokaiseen_maksuun(self):
        pankki_mock = Mock()
        viitegeneraattori_mock = Mock(wraps=Viitegeneraattori())

        kauppa = Kauppa(pankki_mock, viitegeneraattori_mock)

        kauppa.aloita_ostokset()
        kauppa.lisaa_ostos(5)
        kauppa.maksa("1111")

        # tarkistetaan että tässä vaiheessa viitegeneraattorin metodia uusi on kutsuttu kerran
        self.assertEqual(viitegeneraattori_mock.uusi.call_count, 1)

        kauppa.aloita_ostokset()
        kauppa.lisaa_ostos(1)
        kauppa.maksa("1234")

        # tarkistetaan että tässä vaiheessa viitegeneraattorin metodia uusi on kutsuttu kaksi kertaa
        self.assertEqual(viitegeneraattori_mock.uusi.call_count, 2)

        kauppa.aloita_ostokset()
        kauppa.lisaa_ostos(3)
        kauppa.maksa("4444")

        # tarkistetaan että tässä vaiheessa viitegeneraattorin metodia uusi on kutsuttu kolme kertaa
        self.assertEqual(viitegeneraattori_mock.uusi.call_count, 3)