From 9b156b8bdc975b747790cb06a473bc7312262a27 Mon Sep 17 00:00:00 2001
From: Dennis Eisold <de@roadit.de>
Date: Tue, 29 Oct 2019 22:21:06 +0100
Subject: [PATCH] Added JUnit Tests and fixed some errors

---
 src/de/itstall/DatumZeit.java      |   4 +-
 test/de/itstall/TestDatumZeit.java | 160 +++++++++++++++++++++++++++++
 2 files changed, 162 insertions(+), 2 deletions(-)
 create mode 100644 test/de/itstall/TestDatumZeit.java

diff --git a/src/de/itstall/DatumZeit.java b/src/de/itstall/DatumZeit.java
index 885f5f7..f9f9af2 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 0000000..ceb7d41
--- /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
-- 
GitLab