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);
* 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();
}
Kod klasy zad 3
package Stos;
import java.util.EmptyStackException;
public class Klasastos {
public String stos[];
public int top;
public int rozmiar;
public int a;
public Klasastos(int rozmiar)
{
this.rozmiar=rozmiar;
stos = new String[this.rozmiar];
}
public String pop(String element) throws EmptyStackException
{
if(top==0)
{
throw new EmptyStackException();
}
else
{
element=stos[top];
stos[top]="";
return element;
}
}
public void push(String item)throws EmptyStackException{
if(top==0)
{
throw new EmptyStackException();
}
else
{
stos[top]=item;
}
}
public String top() throws EmptyStackException
{
if(top==0)
{
throw new EmptyStackException();
}
else
{
return stos[top];
}
}
public boolean isEmpty()
{
if(top==0)
return true;
else
return false;
}
}
Kod testów zad 3
package Stos;
import junit.framework.TestCase;
public class KlasastosTest extends TestCase {
Klasastos test;
protected void setUp() throws Exception {
test = new Klasastos(2);
test.stos[0]="cos";
}
protected void tearDown() throws Exception {
super.tearDown();
}
public void testKlasastos()
{
assertNotNull(test);
}
public void testPop() throws Exception
{
}
public void testPush() throws Exception
{
}
public void testTop() throws Exception
{
}
public void testIsEmpty() throws Exception
{
assertTrue(test.isEmpty());
}
}