w30451 lab3 zad3 M Marcinek


0x08 graphic
WYŻSZA SZKOŁA INFORMATYKI

I ZARZĄDZANIA

Z SIEDZIBĄ W RZESZOWIE

Inżynieria oprogramowania

Sprawozdanie

z laboratorium [3]

Prowadzący: Wykonawca:

dr inż. Arkadiusz Lewicki Mateusz Marcinek - w30451

Rzeszów, 2010 r.

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);

/** 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();

}

Rozwiązanie:

  1. Kod klasy testowanej:

package stack;

import java.util.EmptyStackException;

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 EmptyStackException;

/**

* Umieszcza element na szczycie stosu.

*/

public void push(String item);

/**

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 EmptyStackException;

/**

* Zwraca true gdy stos jest pusty.

*/

public boolean isEmpty();

}

package stack;

import java.util.EmptyStackException;

public class Stack implements StackExercise {

public int size;

public int location;

public String stack[];

public Stack(int size)

{

if(size<0) {

System.out.println("Nie można utworzyć stosu z ujemną liczba komórek!!");

}else

{

stack=new String[size];

this.size=size;

System.out.println("Utworzono stos z " + size + "komorkami. ");

}

}

public void push(String item)

{

if(location>=this.size)

{

System.out.println("Stos jest pełny! Nie możemy dodać kolejnej porcji danych!");

}else

{

stack[location]=item;

System.out.println("Dodano na szczyt stosu LOCATION ["+this.location+"]="+this.stack[location]);

location++;

}

}

public boolean isEmpty()

{

if(this.stack[0]=="")

return true;

else return false;

}

public String top() throws EmptyStackException

{

if(isEmpty())

{

throw new EmptyStackException();

}else

{

if(location==0)

return stack[location];

else

return stack[location-1];

}

}

public String pop() throws EmptyStackException

{

if(isEmpty())

{

throw new EmptyStackException();

}else

{

System.out.println("Wierzcholek "+ this.stack[--location] +" zostal usuniety");

stack[location]="";

if(location>0){

}

}

System.out.println("Aktyualny wierzcholek to: "+stack[location]);

return stack[location];

}

}

  1. Kod klasy testowej:

package stack;

import junit.framework.TestCase;

public class StackExerciseTest extends TestCase {

Stack stos;

protected void setUp() throws Exception {

super.setUp();

stos=new Stack(10);

assertEquals(10,stos.size);

// sprawdza czy rozmiar tablicy się zgadza

}

protected void tearDown() throws Exception {

super.tearDown();

}

public void testPop() {

stos.push("ZERO");

stos.push("FIRST");

stos.push("SECOND");

stos.push("THIRD");

stos.push("FOURTH");

assertEquals("FOURTH", stos.top());

assertEquals("THIRD", stos.pop());

assertEquals("FOURTH", stos.top());

assertEquals("SECOND", stos.pop());

assertEquals("FIRST", stos.top());

// assertEquals("FIRST", stos.pop());

//stos.push("YYY");

//assertEquals("SECOND", stos.pop());

}

public void testPush() {

}

public void testTop() {

stos.push("XXX");

assertEquals("XXX", stos.top());

stos.push("YYY");

assertEquals("YYY", stos.top());

}

public void testIsEmpty() {

assertFalse(stos.isEmpty());

// stos.pop();

// assertTrue(stos.isEmpty());

}

}



Wyszukiwarka

Podobne podstrony:
LAB3 4, Marcin Grela
lab3
lab3 kalorymetria
al lin zad3 rozw
PKS W zad3 Opis Techniczny
marcinstolp pro
Instrukcja Lab3
lab3 6
test chemia2, PK, CHM -Chemia budowlana, marcin, Chemia Budowlana, fwd sciagi chemia
Dziedzictwo Marcina Lutra, MARKETING INTERNETOWY
W07 02, szkola, szkola, sem 3, MARCIN STUDIA, Budownictwo ogólne, Budownictwo Ogólne
lab3
sprawko z lab3 z auto by pawelekm
MarcinBednarczykGIGgr3
Lab3 zadanie 2 schemat organizacyjny
Lab3 KWW KT
m8966730,MATEMATURA ZAD3

więcej podobnych podstron