Io-11-lab-odp02
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Zadania – Automatyzacja wykonania testów – JUnit
<< Powrót do strony z zadaniami
Odpowiedzi
Zadanie 2
Na listingu 3 poniżej zaprezentowano szkic rozwiązania zadania 2.
package elearning;
import java.io.*;
import java.util.*;
import junit.framework.TestCase;
public class CiagGeometrycznyTest extends TestCase {
GeometricSeries ciag = null;
public CiagGeometrycznyTest(String arg0) {
super(arg0);
}
protected void setUp() throws Exception {
super.setUp();
ciag = new CiagGeometryczny();
}
protected void tearDown() throws Exception {
super.tearDown();
ciag = null;
}
public void testLadujDane() throws Exception {
ciag.ladujDane(new StringReader("1, 2, 4, 8, 16"));
assertEquals(Arrays.asList(new Double[] { new Double(1), new Double(2), new Double(4), new Double(8), new Double(16) )),
ciag.podajDane());
}
public void testLadujNieprawidloweDane() throws Exception {
try {
ciag.ladujDane(new StringReader("Ala ma kota"));
fail(“Nie wygenerowano wyjatku NumberFormatException”);
} catch (NumberFormatException ex) { }
}
public void testObliczQ() throws Exception {
ciag.ladujDane(new StringReader("1, 2, 4, 8, 16"));
assertEquals(2.0, ciag.obliczQ(0.0001), 0.0001);
}
}
Listing 3. Rozwiązanie zadania 2.
Oczywiście przypadki testowe nie sprawdzają wszystkich warunków jak np. błąd w strumieniu wejściowym polegającym na odczycie z tego strumienia zamiast nieprawidłowych danych, różne ciągi w tym także takie, które nie są geometryczne itd.