From 4d61040ebeceebe96ceec10a3dfb143617ab0690 Mon Sep 17 00:00:00 2001 From: Dennis Eisold <de@itstall.de> Date: Tue, 29 Oct 2019 16:53:18 +0100 Subject: [PATCH] startet JUnit Tests --- Uebung13Datum.iml | 14 ++- src/de/itstall/Datum.java | 8 +- test/de.itstall/TestDatum.java | 164 +++++++++++++++++++++++++++++++++ 3 files changed, 183 insertions(+), 3 deletions(-) create mode 100644 test/de.itstall/TestDatum.java diff --git a/Uebung13Datum.iml b/Uebung13Datum.iml index d5c0743..1389403 100644 --- a/Uebung13Datum.iml +++ b/Uebung13Datum.iml @@ -4,9 +4,19 @@ <exclude-output /> <content url="file://$MODULE_DIR$"> <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" /> </content> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> + <orderEntry type="module-library" scope="TEST"> + <library name="JUnit4"> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/junit-4.12.jar!/" /> + <root url="jar://$MODULE_DIR$/lib/hamcrest-core-1.3.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> </component> -</module> - +</module> \ No newline at end of file diff --git a/src/de/itstall/Datum.java b/src/de/itstall/Datum.java index 29a9c48..888d706 100644 --- a/src/de/itstall/Datum.java +++ b/src/de/itstall/Datum.java @@ -113,7 +113,11 @@ public class Datum { * @return : boolean */ public boolean getSchaltjahr(int iJahr) { - return iJahr % 4 == 0 && (iJahr % 100 != 0 || iJahr % 400 == 0); + if(iJahr > 1582) { + return iJahr % 4 == 0 && (iJahr % 100 != 0 || iJahr % 400 == 0); + } else { + return false; + } } /** @@ -135,6 +139,8 @@ public class Datum { if (this.getSchaltjahr((int) this.getJahr())) { iMonatsTage = 29; } + } else { + iMonatsTage = 0; } return iMonatsTage; } diff --git a/test/de.itstall/TestDatum.java b/test/de.itstall/TestDatum.java new file mode 100644 index 0000000..799a5c4 --- /dev/null +++ b/test/de.itstall/TestDatum.java @@ -0,0 +1,164 @@ +package de.itstall; + +import org.junit.Test; + +import static org.junit.Assert.*; + +public class TestDatum { + + @Test + public void getTag() { + Datum datum = new Datum(); + System.out.println("TEST: getTag() Day initial sholud be: 1"); + assertEquals(1, datum.getTag()); + } + + @Test + public void getMonat() { + Datum datum = new Datum(); + System.out.println("TEST: getMonat() Month initial sholud be: 1"); + assertEquals(1, datum.getMonat()); + } + + @Test + public void getJahr() { + Datum datum = new Datum(); + System.out.println("TEST: getJahr() Year initial sholud be: 2000"); + assertEquals(2000, datum.getJahr()); + } + + @Test + public void setTag() { + Datum datum = new Datum(); + + System.out.println("TEST: setTag() Set day to 0 should not work"); + datum.setTag(0); + assertEquals(1, datum.getTag()); + + System.out.println("TEST: setTag() Set day to 32 should not work"); + datum.setTag(32); + assertEquals(1, datum.getTag()); + + System.out.println("TEST: setTag() Set days to 1-31 should work: "); + for(int i = 1; i <= 31; i++) { + datum.setTag(i); + assertEquals(i, datum.getTag()); + } + } + + @Test + public void setMonat() { + Datum datum = new Datum(); + + System.out.println("TEST: setMonat() Set month to -1 should not work"); + datum.setMonat(-1); + assertEquals(1, datum.getMonat()); + + System.out.println("TEST: setMonat() Set month to 0 should not work"); + datum.setMonat(0); + assertEquals(1, datum.getMonat()); + + System.out.println("TEST: setMonat() Set month to 13 should not work"); + datum.setMonat(13); + assertEquals(1, datum.getMonat()); + + System.out.println("TEST: setMonat() Set months to 1-12 should work: "); + for(int i = 1; i <= 12; i++) { + datum.setMonat(i); + assertEquals(i, datum.getMonat()); + } + } + + @Test + public void setJahr() { + Datum datum = new Datum(); + + System.out.println("TEST: setJahr() Set Year to 1582 should not work"); + datum.setMonat(1582); + assertEquals(2000, datum.getJahr()); + + System.out.println("TEST: setJahr() Set Year to Integer.MAX_VALUE + 1 should not work"); + datum.setJahr(Integer.MAX_VALUE + 1); + assertEquals(2000, datum.getJahr()); + + System.out.println("TEST: setJahr() Set Year to 2020 should work"); + datum.setJahr(2020); + assertEquals(2020, datum.getJahr()); + } + + @Test + public void testToString() { + Datum datum = new Datum(); + + System.out.println("TEST: toString() Output should be 01.01.2000"); + assertEquals("01.01.2000", datum.toString()); + + System.out.println("TEST: toString(true) Output should be 01. Januar 2000"); + assertEquals("01. Januar 2000", datum.toString()); + } + + @Test + public void getSchaltjahr() { + Datum datum = new Datum(); + + System.out.println("TEST: getSchaltjahr() 2000 : result should be true"); + assertEquals(true, datum.getSchaltjahr(2000)); + + System.out.println("TEST: getSchaltjahr() 2400 : result should be true"); + assertEquals(true, datum.getSchaltjahr(2400)); + + System.out.println("TEST: getSchaltjahr() 2200 : result should be false"); + assertEquals(false, datum.getSchaltjahr(2200)); + + System.out.println("TEST: getSchaltjahr() 2019 : result should be false"); + assertEquals(false, datum.getSchaltjahr(2019)); + + System.out.println("TEST: getSchaltjahr() 0 : result should be false"); + assertEquals(false, datum.getSchaltjahr(0)); + + System.out.println("TEST: getSchaltjahr() 4 : result should be false"); + assertEquals(false, datum.getSchaltjahr(1200)); + } + + @Test + public void getMonthDays() { + Datum datum = new Datum(); + + System.out.println("TEST: getMonthDays() 02.2000 : result should be 29"); + datum.setMonat(2); + assertEquals(29, datum.getMonthDays(datum.getMonat())); + + System.out.println("TEST: getMonthDays() 02.2001 : result should be 28"); + datum.setMonat(2); + datum.setJahr(2001); + assertEquals(28, datum.getMonthDays(datum.getMonat())); + + System.out.println("TEST: getMonthDays() 10.2019 : result should be 31"); + datum.setMonat(10); + datum.setJahr(2019); + assertEquals(31, datum.getMonthDays(datum.getMonat())); + + System.out.println("TEST: getMonthDays() 13.2000 : result should be 0"); + datum.setJahr(2000); + assertEquals(0, datum.getMonthDays(13)); + + System.out.println("TEST: getMonthDays() 0.2000 : result should be 0"); + assertEquals(0, datum.getMonthDays(0)); + } + + @Test + public void getMonthName() { + } + + @Test + public void addiereJahre() { + } + + @Test + public void addiereMonate() { + } + + @Test + public void addiereTage() { + } +} \ No newline at end of file -- GitLab