Zaawansowane CPP/Ćwiczenia 4: Testowanie: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Mirek (dyskusja | edycje)
Nie podano opisu zmian
Mirek (dyskusja | edycje)
Nie podano opisu zmian
Linia 23: Linia 23:


<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie</span><div class="mw-collapsible-content" style="display:none">
<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie</span><div class="mw-collapsible-content" style="display:none">
Patrz pliki [http://osilek.mimuw.edu.pl/images/9/96/Max_cppunit.cpp max_cppunit.cpp] i [http://osilek.mimuw.edu.pl/images/9/96/Max_cppunit.cpp max_cppunit.cpp].
Test stosu podzielę na cztery części: pierwsza zawierać będzie test
Test stosu podzielę na cztery części: pierwsza zawierać będzie test
podstawowych funkcji, druga destruktora, a trzecia i czwarta
podstawowych funkcji, druga - destruktora, a trzecia i czwarta -
konstruktora kopiującego i operatora przypisania.  
konstruktora kopiującego i operatora przypisania.  


Test podstawowy zawarty jest w składowej {test_base()} klasy
Test podstawowy zawarty jest w składowej <tt>test_base()</tt> klasy
{stack_test} w pliku
<tt>stack_test</tt> w pliku
{mod09/exercises/stack_test_cppunit.cpp}<tt>stacktestcppunit.cpp</tt>.  Polega on na naprzemiennym wkładaniu i
{mod09/exercises/stack_test_cppunit.cpp}<tt>stacktestcppunit.cpp</tt>.  Polega on na naprzemiennym wkładaniu i
zdejmowaniu ze stosu liczb całkowitych i sprawdzaniu poprawności
zdejmowaniu ze stosu liczb całkowitych i sprawdzaniu poprawności

Wersja z 21:22, 26 wrz 2006

Ćwiczenie 1

Do przykładu testów max napisanych w CppUnit dodaj testy sprawdzające wersję szukającą maksimum w tablicy. Wykorzystaj w tym celu dodatkową klasę testującą. Sprawdź swój test na implementacji max_error.h. Znajdź znajdujące się tam błędy.

Rozwiązanie

Ćwiczenie 2

Zaproponuj i napisz, używając CppUnit, testy klasy Stack. Implementacja tej klasy znajduje się w pliku stack.h. Nie zapomnij o testach kopiowania i przypisywania oraz destruktora.

Sprawdź czy stos zaimplementowany w pliku stack_dyn.h, przechodzi twoje testy. Jeśli tak, to znajdź błędy w kodzie i tak popraw testy, aby wyłapywały te błędy. Popraw kod tak, aby przeszedł uzupełnione testy.

Rozwiązanie