Commit b0b4d458 by Patryk Czarnik

Konto.przelew

parent 2ae2b190
......@@ -46,7 +46,7 @@ public class Konto {
public void wplata(int kwota) {
if(kwota <= 0) {
throw new IllegalArgumentException("ujemna kwota wpłaty");
throw new IllegalArgumentException("Kwota nie jest dodatnia");
}
// this.saldo += kwota;
this.saldo = Math.addExact(this.saldo, kwota);
......@@ -54,12 +54,23 @@ public class Konto {
public void wyplata(int kwota) throws BrakSrodkow {
if(kwota <= 0) {
throw new IllegalArgumentException("ujemna kwota wypłaty");
throw new IllegalArgumentException("Kwota nie jest dodatnia");
}
if(kwota > saldo) {
throw new BrakSrodkow("za mało kasy");
throw new BrakSrodkow("Za mało kasy");
}
// this.saldo -= kwota;
this.saldo = Math.subtractExact(this.saldo, kwota);
}
public void przelew(Konto inne, int kwota) throws BrakSrodkow {
if(kwota <= 0) {
throw new IllegalArgumentException("Kwota nie jest dodatnia");
}
if(kwota > saldo) {
throw new BrakSrodkow("Za mało kasy");
}
this.saldo -= kwota;
inne.saldo += kwota;
}
}
......@@ -18,7 +18,7 @@ class KontoTest {
@Test
void testWplata() {
konto.wplata(300);
// w testach jednostkowych nie pritnujemy danych na ekran, tylko sprawdzamy za pomocą "sercji" czy wyniki się zgadzają
// w testach jednostkowych nie printujemy danych na ekran, tylko sprawdzamy za pomocą "asercji" czy wyniki się zgadzają
// assert konto.getSaldo() == 1300;
// zazwyczaj używa się asercji definiowanych przez JUnit lub inne dodatkowe biblioteki
assertEquals(1300, konto.getSaldo());
......@@ -97,4 +97,22 @@ class KontoTest {
assertEquals(1000, konto.getSaldo());
}
@Test
void testPrzelew() throws BrakSrodkow {
Konto inne = new Konto(2, 2000, new Osoba("Ola", "Malinowska", "2000-01-01"));
konto.przelew(inne, 400);
assertEquals(600, konto.getSaldo());
assertEquals(2400, inne.getSaldo());
}
@Test
void testPrzelewUjemny() {
Konto inne = new Konto(2, 2000, new Osoba("Ola", "Malinowska", "2000-01-01"));
assertThrows(IllegalArgumentException.class, () -> {
konto.przelew(inne, -100);
});
assertEquals(1000, konto.getSaldo());
assertEquals(2000, inne.getSaldo());
}
// analogicznie dla BrakSrodkow
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment