import java.util.HashMap; import java.util.Map; /******************************************************************************* * Testovací třída PersonMapTest slouží ke komplexnímu otestování * rozhraní Map, třídy HashMap * * @author Tomáš Pitner * @version 1.00, 10.8.2005 */ public class PersonMapTest extends junit.framework.TestCase { private Map personMap; 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 PersonMapTest(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() { personMap = new HashMap(); me = new Person("Jan Novak", 30); you = new Person("Pavel Horak", 20); he = new Person("Libor Polak", 55); she = new Person("Anita Polakova", 51); personMap.add(me); personMap.add(you); personMap.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 Map.", personMap.contains(he)); } /*************************************************************************** * 'she' by neměla v seznamu být. */ public void testPersonNotPresent() { assertFalse("She should not be in the Map.", personMap.contains(she)); } /*************************************************************************** * 'you' by po vymazání neměl v seznamu být. */ public void testDeletedNotPresent() { personMap.remove(you); assertFalse("You should not be in the Map.", personMap.contains(you)); } /*************************************************************************** * 'you' by po vymazání neměl v seznamu být. */ public void testInsertedTwiceNotIncrementedSize() { int origSize = personMap.size(); personMap.add(you); assertEquals("Size fo the Map should remain after duplicit insertion.", origSize, personMap.size()); } }