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.