/* * Beispiel fuer ein professionelles Testprogramm fuer das Testframework * JUnit von Kent Beck und Erich Gamma. * * (JUnit ist im Moment der absolute Renner.) * * DIES IST NUR EIN BEISPIEL FUER DIEJENIGEN, DIE MIT JUNIT UMGEHEN WOLLEN !! * DAS MUSS MAN NICHT VERSTEHEN !! * * INFO ZU JUNIT: http://www.junit.org */ import junit.framework.TestCase; public class BuchTest extends TestCase { public void testStandardConstructor() { int naechsteNr = Buch.getNaechsteFreieNummer(); Buch b = new Buch("May", "Winnetou"); assertEquals("May", b.getAutor()); assertEquals("Winnetou", b.getTitel()); assertEquals(naechsteNr, b.getInventarnummer()); assertEquals("May: Winnetou("+naechsteNr+")", b.toString()); } public void testAutorUnbekannt() { Buch b = new Buch("Bibel"); assertEquals("NN", b.getAutor()); assertEquals("Bibel", b.getTitel()); } public void testKopie() { Buch b = new Buch("alfa", "beta"); Buch c = new Buch(b); assertEquals("alfa", c.getAutor()); assertEquals("beta", c.getTitel()); assertEquals(b.getInventarnummer()+1, c.getInventarnummer()); } public void testGetNaechsteFreieNummer() { int uebernaechsteNr = Buch.getNaechsteFreieNummer() + 1; new Buch("Bibel"); assertEquals(uebernaechsteNr, new Buch("Bibel").getInventarnummer()); } public void testAusleihe() { Buch b = new Buch("Winnetou"); assertFalse(b.istAusgeliehen()); b.ausleihen(); assertTrue(b.istAusgeliehen()); try { // wird der Fehler bemerkt? b.ausleihen(); fail("das Buch ist bereits ausgeliegen"); } catch(IllegalStateException e) { } b.zurueckgeben(); assertFalse(b.istAusgeliehen()); try { // wird der Fehler bemerkt? b.zurueckgeben(); fail("das Buch ist bereits vorhanden"); } catch(IllegalStateException e) { } } }