001 package de.hska.info1.uebung.objekte;
002
003 /*
004 * Nach Kopieren dieser Klasse in das Verzeichnis, wo
005 * die Implementierung der Datumsklasse vorhanden ist,
006 * müssen noch wie folgt die Klassen des JUnit
007 * Testframeworks zum Projekt hinzugefügt werden:
008 * In dieser Klasse Linksklick links von fehlerhafter Zeile
009 * und entsprechende auswählbare Aktion zum Hinzufügen
010 * der JUnit Testklassen auswählen.
011 *
012 * Zum Ausführen der Tests dieser Klasse:
013 * Klasse in Package Explorer anwählen, Rechtsklick und
014 * Run -> JUnit Test auswählen.
015 *
016 * Es kann noch sein, dass dieser Klasse noch die Packagedeklaration
017 * haben muss, die ihre Klasse Datum hat.
018 *
019 * Wenn keine Fehler auftreten passiert nichts.
020 * Falls noch Fehler auftreten wechselt Eclipse
021 * automatisch in die JUnit Sicht.
022 */
023
024 import junit.framework.TestCase;
025
026 /**
027 * JUnit Testklasse für Klasse Datum (objekt-orientierte Version).
028 * Es werden alle öffentlichen Methoden und Konstruktoren überprüft (bis auf toString()).
029 * Leider sind alle Methoden unkommentiert. Sie sind allerdings
030 * allessamt sehr einfach.
031 */
032 public class DatumJUnitTest extends TestCase {
033
034 public void testKonstruktor() {
035 Datum datum = new Datum(1, 1, 2000);
036
037 assertTrue(datum != null);
038 }
039
040 public void testIsSchaltjahr1() {
041 Datum datum = new Datum(1, 1, 2000);
042
043 assertTrue(datum.isSchaltjahr());
044 }
045
046 public void testIsSchaltjahr2() {
047 Datum datum = new Datum(1, 1, 2001);
048
049 assertTrue(! datum.isSchaltjahr());
050 }
051
052 public void testIsSchaltjahr3() {
053 Datum datum = new Datum(1, 1, 500);
054
055 assertTrue(! datum.isSchaltjahr());
056 }
057
058 public void testIsKorrekt1() {
059 Datum datum = new Datum(15, 12, 2001);
060
061 assertTrue(datum.isKorrekt());
062 }
063
064 public void testIsKorrekt2() {
065 Datum datum = new Datum(-1, 12, 2001);
066
067 assertTrue(! datum.isKorrekt());
068 }
069
070 public void testIsKorrekt3() {
071 Datum datum = new Datum(15, 12, -999);
072
073 assertTrue(! datum.isKorrekt());
074 }
075
076 public void testIsKorrekt4() {
077 Datum datum = new Datum(15, 99, 2001);
078
079 assertTrue(! datum.isKorrekt());
080 }
081
082 public void testIsKorrekt5() {
083 Datum datum = new Datum(29, 2, 2000);
084
085 assertTrue(datum.isKorrekt());
086 }
087
088 public void testIsKorrekt6() {
089 Datum datum = new Datum(15, 12, 1996);
090
091 assertTrue(datum.isKorrekt());
092 }
093
094 public void testGetTag1() {
095 Datum datum = new Datum(15, 12, 1996);
096
097 assertTrue( datum.getTag() == 15);
098 }
099
100 public void testGetTag2() {
101 Datum datum = new Datum(15, 12, -1996);
102
103 assertTrue( datum.getTag() == -1);
104 }
105
106 public void testGetMonat1() {
107 Datum datum = new Datum(15, 12, 1996);
108
109 assertTrue( datum.getMonat() == 12);
110 }
111
112 public void testGetMonat2() {
113 Datum datum = new Datum(31, 4, 2001);
114
115 assertTrue( datum.getMonat() == -1);
116 }
117
118 public void testGetJahr1() {
119 Datum datum = new Datum(15, 12, 1996);
120
121 assertTrue( datum.getJahr() == 1996);
122 }
123
124 public void testGetJahr2() {
125 Datum datum = new Datum(15, 13, 1996);
126
127 assertTrue( datum.getJahr() == -1);
128 }
129
130 public void testToString() {
131 Datum datum = new Datum(1, 1, 2000);
132
133 assertEquals("1. Januar 2000 / Schaltjahr", datum.toString());
134 }
135
136 public void testToString1() {
137 Datum datum = new Datum(5, 8, 1999);
138
139 assertEquals("5. August 1999 / kein Schaltjahr", datum.toString());
140 }
141
142 }
143