import java.util.HashSet; import java.util.Set; /******************************************************************************* * Testovací třída PersonSetTest slouží ke komplexnímu otestování * rozhraní Set, třídy HashSet * * @author Tomáš Pitner * @version 1.00, 10.8.2005 */ public class PersonSetTest extends junit.framework.TestCase { private Set personSet; private Person me; private Person you; private Person he; private Person she; /*************************************************************************** * Vytvoří test se zadaným názvem. * * @param název Název konstruovaného testu */ public PersonSetTest(String nazev) { super( nazev ); } //== PŘÍPRAVA A ÚKLID PŘÍPRAVKU =============================================== /*************************************************************************** * Vytvoření přípravku (fixture), tj. sady objektů, s nimiž budou všechny * testy pracovat a která se proto vytvoří před spuštěním každého testu. */ protected void setUp() { personSet = new HashSet(); me = new Person("Jan Novak", 30); you = new Person("Pavel Horak", 20); he = new Person("Libor Polak", 55); she = new Person("Anita Polakova", 51); personSet.add(me); personSet.add(you); personSet.add(he); } /*************************************************************************** * Úklid po testu - tato metoda se spustí po vykonání každého testu. */ protected void tearDown() { } //== VLASTNÍ TESTY ============================================================= /*************************************************************************** * Je 'he' na pozici 2? */ public void testPersonPresent() { assertTrue("He should be in the Set.", personSet.contains(he)); } /*************************************************************************** * 'she' by neměla v seznamu být. */ public void testPersonNotPresent() { assertFalse("She should not be in the Set.", personSet.contains(she)); } /*************************************************************************** * 'you' by po vymazání neměl v seznamu být. */ public void testDeletedNotPresent() { personSet.remove(you); assertFalse("You should not be in the Set.", personSet.contains(you)); } /*************************************************************************** * 'you' by po vymazání neměl v seznamu být. */ public void testInsertedTwiceNotIncrementedSize() { int origSize = personSet.size(); personSet.add(you); assertEquals("Size fo the Set should remain after duplicit insertion.", origSize, personSet.size()); } }