předchozí -
obsah části -
obsah - další
|
dotazy/odpovědi 
Testování jednotek
Předmětem cvičení bude napsat a odladit testovací třídy určené k dílčímu otestování tříd vytvořených v předchozím cvičení.
První úlohou bude napsat do balíku cz.muni.fi.{vaslogin}.searching2 třídu SearcherTest, která bude rozšiřovat (extend) junit.framework.TestCase:
Třída bude obsahovat několik testovacích metod (s názvy začínajícími na test) realizujících následující testy vyhledávačů:
- testLinearSearcherFindsAll() - otestuje, že vyhledávač LinearSearcher nalezne v určitém pevně zadaném (např. static final) poli výskyt všech prvků, které v poli jsou. Tzn. v cyklu se projdou všechny prvky testovacího pole a vyhledávač musí postupně vracet jejich indexy 0,1,... Korektně detekujte případné selhání tohoto pravidla. Současně s tím testuje, že na každý prvek pole musí vyhledávač vrátit contains(prvek) rovno true.
- testLinearSearcherFindsNot() - otestujte, zda se vyhledávač chová správně a nenalezne i prvek, který v poli není. Vyzkouší to na několika prvcích, které v poli nejsou. Ve všech případech se testovací metoda musí ujistit, že prvek nebyl nalezen. Přítomnost prvku v poli zjišťujeme voláním metody boolean contains(float what). Současně indexOf musí pro nepřítomné prvky vracet -1.
obdobně realizujte testovací metody pro BinarySearcher (pozor - vzorové pole musí být uspořádané).
pozn.: inspirujte se tím, co jste viděli na minulé přednášce, tj. třídou
Test chovatele psů
pozn.: nezapoměňte, že v každé testovací třídě může být (měla by být) metoda setUp(), která nastaví testovací prostředí
před spuštění každé testovací metody. Dále tam může být metoda tearDown(), která naopak po provedení testovací metody "uklidí".
Dále viz např. učebnice nebo dokumentace k JUnit,
JUnit.org
Druhá část úlohy otestuje třídy Sorter z minulého cvičení.
Opět vytvoříme testovací třídu - tentokrát SorterTest - a umístíme ji do balíku cz.muni.fi.{vaslogin}.sorting2.
Testovací třída bude mít testovací metody, které pro všechny řadící třídy XXX (QuickSorter, BubbleSorter, SelectSorter) prověří:
- testXXXSorter - prověří, že volání metody sort vzorové pole skutečně uspořádá
- testXXXSortAndSearch - prověří, že po uspořádání metodu sort příslušné řadicí třídy bude fungovat vyhledávání metodou contains třídy BinarySearcher. Ověří to na všech prvcích pole.
Obecné informace
pozn: Pokud cvičící zadání modifikuje, je to OK. Tohle je vzorové minimální zadání.
za tyto úlohy dohromady získáte max. 4 body.
předchozí -
obsah části -
obsah - další
|
dotazy/odpovědi 
Slidy předmětu byly navštíveny

krát.