diff --git a/src/de/itstall/DatumZeit.java b/src/de/itstall/DatumZeit.java
index 885f5f7a404429ba4c5de09cde111149a50c5804..f9f9af209960cf2585ccefc1082bc35f2303af37 100644
--- a/src/de/itstall/DatumZeit.java
+++ b/src/de/itstall/DatumZeit.java
@@ -107,7 +107,7 @@ public class DatumZeit extends Datum {
 			this.addiereTage(neueStunde / 24);
 			this.setiStunde(neueStunde % 24);
 		} else if (neueStunde < 0) {
-			this.addiereTage(neueStunde / 24 - 1);
+			this.addiereTage(neueStunde / 24);
 			this.setiStunde(24 + neueStunde % 24);
 		} else {
 			this.setiStunde(neueStunde);
@@ -125,7 +125,7 @@ public class DatumZeit extends Datum {
 			this.addiereStunden(neueMinuten / 60);
 			this.setiMinute(neueMinuten % 60);
 		} else if (neueMinuten < 0) {
-			this.addiereStunden(neueMinuten / 60 - 1);
+			this.addiereStunden(neueMinuten / 60);
 			this.setiMinute(60 + neueMinuten % 60);
 		} else {
 			this.setiMinute(neueMinuten);
diff --git a/test/de/itstall/TestDatumZeit.java b/test/de/itstall/TestDatumZeit.java
new file mode 100644
index 0000000000000000000000000000000000000000..ceb7d4176a74b0cd60ae347a7e80f3ed454b33c3
--- /dev/null
+++ b/test/de/itstall/TestDatumZeit.java
@@ -0,0 +1,160 @@
+package de.itstall;
+
+import org.junit.Test;
+import static org.junit.Assert.*;
+
+public class TestDatumZeit {
+
+    @Test
+    public void getiStunde() {
+        DatumZeit datumZeit = new DatumZeit();
+        System.out.println("TEST: getiStunde() Hour initial should be: 0");
+        assertEquals(0, datumZeit.getiStunde());
+    }
+
+    @Test
+    public void getiMinute() {
+        DatumZeit datumZeit = new DatumZeit();
+        System.out.println("TEST: getiMinute() Minute initial should be: 0");
+        assertEquals(0, datumZeit.getiMinute());
+    }
+
+    @Test
+    public void getiSekunde() {
+        DatumZeit datumZeit = new DatumZeit();
+        System.out.println("TEST: getiSekunde() Second initial should be: 0");
+        assertEquals(0, datumZeit.getiSekunde());
+    }
+
+    @Test
+    public void setiStunde() {
+        DatumZeit datumZeit = new DatumZeit();
+
+        System.out.println("TEST: setiStunde(10) Result should be: 10");
+        datumZeit.setiStunde(10);
+        assertEquals(10, datumZeit.getiStunde());
+
+        System.out.println("TEST: setiStunde(70) Result should be: 10");
+        datumZeit.setiStunde(70);
+        assertEquals(10, datumZeit.getiStunde());
+
+        System.out.println("TEST: setiStunde(-10) Result should be: 10");
+        datumZeit.setiStunde(-10);
+        assertEquals(10, datumZeit.getiStunde());
+    }
+
+    @Test
+    public void setiMinute() {
+        DatumZeit datumZeit = new DatumZeit();
+
+        System.out.println("TEST: setiMinute(10) Result should be: 10");
+        datumZeit.setiMinute(10);
+        assertEquals(10, datumZeit.getiMinute());
+
+        System.out.println("TEST: setiMinute(70) Result should be: 10");
+        datumZeit.setiMinute(70);
+        assertEquals(10, datumZeit.getiMinute());
+
+        System.out.println("TEST: setiMinute(-10) Result should be: 10");
+        datumZeit.setiMinute(-10);
+        assertEquals(10, datumZeit.getiMinute());
+    }
+
+    @Test
+    public void setiSekunde() {
+        DatumZeit datumZeit = new DatumZeit();
+
+        System.out.println("TEST: setiSekunde(10) Result should be: 10");
+        datumZeit.setiSekunde(10);
+        assertEquals(10, datumZeit.getiSekunde());
+
+        System.out.println("TEST: setiSekunde(70) Result should be: 10");
+        datumZeit.setiSekunde(70);
+        assertEquals(10, datumZeit.getiSekunde());
+
+        System.out.println("TEST: setiSekunde(-10) Result should be: 10");
+        datumZeit.setiSekunde(-10);
+        assertEquals(10, datumZeit.getiSekunde());
+    }
+
+    @Test
+    public void testToString() {
+        DatumZeit datumZeit = new DatumZeit();
+
+        System.out.println("TEST: toString() Output should be 01.01.2000 00:00:00");
+        assertEquals("01.01.2000 00:00:00", datumZeit.toString());
+
+        System.out.println("TEST: toString(true) Output should be 01. Januar 2000 00:00:00");
+        assertEquals("01. Januar 2000 00:00:00", datumZeit.toString(true));
+
+    }
+
+    @Test
+    public void addiereStunden() {
+        DatumZeit datumZeit = new DatumZeit();
+
+        System.out.println("TEST: addiereStunden(10) Result should be: 01.01.2000 10:00:00");
+        datumZeit.addiereStunden(10);
+        assertEquals("01.01.2000 10:00:00", datumZeit.toString());
+
+        System.out.println("TEST: addiereStunden(25) Result should be: 02.01.2000 01:00:00");
+        datumZeit.setiStunde(0);
+        datumZeit.addiereStunden(25);
+        assertEquals("02.01.2000 01:00:00", datumZeit.toString());
+
+        System.out.println("TEST: addiereStunden(-48) Result should be: 30.12.1999 00:00:00");
+        datumZeit.setJahr(2000);
+        datumZeit.setMonat(1);
+        datumZeit.setTag(1);
+        datumZeit.setiStunde(0);
+        datumZeit.addiereStunden(-48);
+        assertEquals("30.12.1999 00:00:00", datumZeit.toString());
+    }
+
+    @Test
+    public void addiereMinuten() {
+        DatumZeit datumZeit = new DatumZeit();
+
+        System.out.println("TEST: addiereMinuten(10) Result should be: 01.01.2000 00:10:00");
+        datumZeit.addiereMinuten(10);
+        assertEquals("01.01.2000 00:10:00", datumZeit.toString());
+
+        System.out.println("TEST: addiereMinuten(60) Result should be: 01.01.2000 01:00:00");
+        datumZeit.setiMinute(0);
+        datumZeit.addiereMinuten(60);
+        assertEquals("01.01.2000 01:00:00", datumZeit.toString());
+
+        System.out.println("TEST: addiereMinuten(-120) Result should be: 31.12.1999 22:00:00");
+        datumZeit.setJahr(2000);
+        datumZeit.setMonat(1);
+        datumZeit.setTag(1);
+        datumZeit.setiStunde(0);
+        datumZeit.setiMinute(0);
+        datumZeit.addiereMinuten(-120);
+        assertEquals("31.12.1999 22:00:00", datumZeit.toString());
+    }
+
+    @Test
+    public void addiereSekunden() {
+        DatumZeit datumZeit = new DatumZeit();
+
+        System.out.println("TEST: addiereSekunden(10) Result should be: 01.01.2000 00:00:10");
+        datumZeit.addiereSekunden(10);
+        assertEquals("01.01.2000 00:00:10", datumZeit.toString());
+
+        System.out.println("TEST: addiereSekunden(60) Result should be: 01.01.2000 00:01:00");
+        datumZeit.setiSekunde(0);
+        datumZeit.addiereSekunden(60);
+        assertEquals("01.01.2000 00:01:00", datumZeit.toString());
+
+        System.out.println("TEST: addiereSekunden(-120) Result should be: 31.12.1999 23:58:00");
+        datumZeit.setJahr(2000);
+        datumZeit.setMonat(1);
+        datumZeit.setTag(1);
+        datumZeit.setiStunde(0);
+        datumZeit.setiMinute(0);
+        datumZeit.setiSekunde(0);
+        datumZeit.addiereSekunden(-120);
+        assertEquals("31.12.1999 23:58:00", datumZeit.toString());
+    }
+}
\ No newline at end of file