background image

Inżynieria oprogramowania – A. Lewicki 

 

Inżynieria oprogramowania – Testy jednostkowe 

 
 
 
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. 

 

Zadanie 2 
 
 
 

Uzupełnij poniższą klasę szkieletową o wymaganą funkcjonalność, a następnie napisz 

dla  niej  klasę  asercji,  uwzględniającą  wszystkie  przypadki  brzegowe,  a  także  testy 

poprawności obsługi wyjątków. 

 
                        public class Zbior 

                              {  

                                  private static int M_ROZ = 2000;  

                                  protected int[] zbior = new int[M_ROZ];  

                                  protected int roz;  

                                    public void dodaj(int n)                                       {  

 /*  

  Dodaje liczbę n do zbioru liczb.  

  Jeżeli podana liczba już istnieje dodawana jest po raz drugi  

  n - liczba, którą należy dodać do zbioru  

* /  

                                       }  

 

public void usun(int n)  

{  

   /*   

    Usuwa liczbę n ze zbioru liczb.  

    W przypadku gdy zbiór nie posiada liczby podanej jako parametr 

                                               rzucany jest wyjątek.  

background image

Inżynieria oprogramowania – A. Lewicki 

     n - liczba do usunięcia  

 */  

}  

 

public int losuj()  

{  

   /*  

Losuje  jedną  liczbę  ze  zbioru,  usuwa  ją  ze  zbioru,  a następnie 

zwraca wylosowaną liczbę  

    */  

 

}  

public int pobierzSume()  

{  

/*  

  Zwraca sumę wszystkich liczb ze zbioru.  

  zwraca sumę liczb.  

  W przypadku pustego zbioru suma wynosi 0.  

*/  

}  

 

public void iloraz_elem(int n)  

{  

  /*  

     Dzieli każdy element ze zbioru przez n bez reszty.  

     n - liczba przez którą będzie wykonane dzielenie.  

  */  

}  

 

public boolean sprawdz(int n)  

  /*  

   Sprawdza, czy w zbiorze istnieje element n 

    n- element do sprawdzenia  

background image

Inżynieria oprogramowania – A. Lewicki 

   zwraca  true  w  przypadku  odnalezienia  elementu,  false  

                                               w przeciwnym przypadku  

  */ }  

public int pobierz_rozmiar()  

  /*  

      Zwraca rozmiar zbioru (liczbę dodanych elementów)  

  */ 

}  

                       } 

 
 
 
Zadanie 3 

 

 
 

 

Napisz  implementację  klasy  zawierającej  implementację  następujących  metod  oraz 

wykonaj dla niej odpowiednie testy jednostkowe: 

 

public interface StackExercise {  

 

/** 

* Usuwa i zwraca element znajdujący się 

* na szczycie stosu. 

* Generuje wyjątek StackEmptyException 

* gdy stos jest pusty. 

*/ 

public String pop() throws StackEmptyException; 

 

/** 

* Umieszcza element na szczycie stosu. 

*/ 

public void push(String item); 

 

/** 

background image

Inżynieria oprogramowania – A. Lewicki 

* Zwraca element znajdujący się na szczycie 

* stosu, ale nie usuwa go stamtąd. 

* Generuje wyjątek StackEmptyException 

* gdy stos jest pusty. 

*/ 

public String top() throws StackEmptyException; 

 

/** 

* Zwraca true gdy stos jest pusty. 

*/ 

public boolean isEmpty();