Zadanie 1
Napisz klasę o nazwie Bank posiadającą trzy metody zwrotne typu double o nazwach wyplata, wplata oraz saldo. Metody te powinny operować na polu klasowym stan (typ double) zwracając za każdym razem jego wartość. Wykonaj odpowiednie testy jednostkowe.
Rozwiązanie:
Kod klasy testowanej:
package bank;
public class Bank_konto
{
private double stan;
public Bank_konto(double stan)
{
this.stan=stan;
}
public double wyplata (double ile) throws Exception
{
if(ile <= stan)
{
stan -= ile;
return stan;
}
else throw new Exception("Nie masz tyle na koncie");
}
public double wplata (double ile)
{
stan += ile;
return stan;
}
public double stan ()
{
return stan;
}
}
Kod klasy testowej:
package bank;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class Bank_kontoTest11 {
Bank_konto test;
@Before
public void setUp() throws Exception
{
test = new Bank_konto(1000);
}
@After
public void tearDown() throws Exception
{ }
@Test
public void testWyplata() throws Exception
{
assertNotNull(test);
assertEquals (450,test.wyplata(550),0);
try
{
assertEquals (470,test.wyplata(1500),0);
fail("Zle, Zle, ZLe, Zle, ZLe :)");
}
catch(Exception e)
{
System.err.println("Wyjatki sa obslugiwane") ;
}
}
@Test
public void testWplata()
{
assertEquals (1550,test.wplata(550),0);
}
@Test
public void testStan()
{
assertEquals(1000,test.stan(),0);
}
}