From 0b4d77e470a72c602b6d568d4379093bc6c13d9e Mon Sep 17 00:00:00 2001 From: "Dr. Martin Goik" <goik@hdm-stuttgart.de> Date: Sun, 21 Jul 2019 21:16:10 +0200 Subject: [PATCH] Decomposing test classes --- .../mi/sd1/test/ShowReachedPoints.java | 19 ++++-- .../task1/Test_10_Helper_isAscending.java | 26 ++++++++ ...HelperArray_getAlphabeticalFollowers.java} | 28 +------- .../Test_120_HelperArray_getLeaders.java | 37 +++++++++++ ...er.java => Test_20_Helper_checkTitle.java} | 64 +------------------ .../test/task1/Test_30_Helper_isVowel.java | 28 ++++++++ .../Test_40_Helper_getNumberOfVowels.java | 25 ++++++++ .../Test_50_Helper_renameFileBasename.java | 28 ++++++++ .../mi/sd1/test/ShowReachedPoints.java | 19 ++++-- .../task1/Test_10_Helper_isAscending.java | 26 ++++++++ ...HelperArray_getAlphabeticalFollowers.java} | 31 +-------- .../Test_120_HelperArray_getLeaders.java | 37 +++++++++++ ...er.java => Test_20_Helper_checkTitle.java} | 64 +------------------ .../test/task1/Test_30_Helper_isVowel.java | 28 ++++++++ .../Test_40_Helper_getNumberOfVowels.java | 25 ++++++++ .../Test_50_Helper_renameFileBasename.java | 28 ++++++++ 16 files changed, 319 insertions(+), 194 deletions(-) create mode 100644 Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_10_Helper_isAscending.java rename Klausuren/Sd1/2019summer/{Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_HelperArray.java => Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_110_HelperArray_getAlphabeticalFollowers.java} (71%) create mode 100644 Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_120_HelperArray_getLeaders.java rename Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/{Test_Helper.java => Test_20_Helper_checkTitle.java} (50%) create mode 100644 Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_30_Helper_isVowel.java create mode 100644 Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_40_Helper_getNumberOfVowels.java create mode 100644 Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_50_Helper_renameFileBasename.java create mode 100644 Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_10_Helper_isAscending.java rename Klausuren/Sd1/2019summer/{Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_HelperArray.java => Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_110_HelperArray_getAlphabeticalFollowers.java} (68%) create mode 100644 Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_120_HelperArray_getLeaders.java rename Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/{Test_Helper.java => Test_20_Helper_checkTitle.java} (50%) create mode 100644 Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_30_Helper_isVowel.java create mode 100644 Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_40_Helper_getNumberOfVowels.java create mode 100644 Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_50_Helper_renameFileBasename.java diff --git a/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/ShowReachedPoints.java b/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/ShowReachedPoints.java index feca24669..7fb923a1e 100644 --- a/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/ShowReachedPoints.java +++ b/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/ShowReachedPoints.java @@ -1,8 +1,7 @@ package de.hdm_stuttgart.mi.sd1.test; import de.hdm_stuttgart.mi.exam.unitmarking.RunTests; -import de.hdm_stuttgart.mi.sd1.test.task1.Test_HelperArray; -import de.hdm_stuttgart.mi.sd1.test.task1.Test_Helper; +import de.hdm_stuttgart.mi.sd1.test.task1.*; import de.hdm_stuttgart.mi.sd1.test.task2.Test_ChangeAmount; public class ShowReachedPoints { @@ -14,11 +13,17 @@ public class ShowReachedPoints { */ public static void main(String[] args) { RunTests.exec( - "Aufgabe 1" - , Test_Helper.class - , Test_HelperArray.class - ); + "Task 1" + , Test_10_Helper_isAscending.class + , Test_20_Helper_checkTitle.class + , Test_30_Helper_isVowel.class + , Test_40_Helper_getNumberOfVowels.class + , Test_50_Helper_renameFileBasename.class - RunTests.exec("Aufgabe 2", Test_ChangeAmount.class); + , Test_110_HelperArray_getAlphabeticalFollowers.class + , Test_120_HelperArray_getLeaders.class + ); + + RunTests.exec("Task 2", Test_ChangeAmount.class); } } \ No newline at end of file diff --git a/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_10_Helper_isAscending.java b/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_10_Helper_isAscending.java new file mode 100644 index 000000000..fadf77d82 --- /dev/null +++ b/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_10_Helper_isAscending.java @@ -0,0 +1,26 @@ +package de.hdm_stuttgart.mi.sd1.test.task1; + +import de.hdm_stuttgart.mi.exam.unitmarking.ExaminationTestDefaults; +import de.hdm_stuttgart.mi.exam.unitmarking.Marking; +import de.hdm_stuttgart.mi.sd1.task1.Helper; +import org.junit.Assert; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class Test_10_Helper_isAscending extends ExaminationTestDefaults { + + /* Section: isAscending */ + + @Test @Marking(points = 3) public void test_010_isAscending_positive() { + Assert.assertTrue(Helper.isAscending(1, 2, 3)); + Assert.assertFalse("Second value not greater than first", Helper.isAscending(1, 1, 3)); + Assert.assertFalse("All values are strictly descending", Helper.isAscending(3, 2, 1)); + } + + @Test @Marking(points = 3) public void test_020_isAscending_negative() { + Assert.assertTrue(Helper.isAscending(-41, -20, 30)); + Assert.assertFalse("Second value not greater than first", Helper.isAscending(-50, -50, 3)); + } +} \ No newline at end of file diff --git a/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_HelperArray.java b/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_110_HelperArray_getAlphabeticalFollowers.java similarity index 71% rename from Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_HelperArray.java rename to Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_110_HelperArray_getAlphabeticalFollowers.java index 22766638b..b551802c5 100644 --- a/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_HelperArray.java +++ b/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_110_HelperArray_getAlphabeticalFollowers.java @@ -13,7 +13,7 @@ import static de.hdm_stuttgart.mi.sd1.task1.HelperArray.getAlphabeticalFollowers import static de.hdm_stuttgart.mi.sd1.task1.HelperArray.getLeaders; @FixMethodOrder(MethodSorters.NAME_ASCENDING) -public class Test_HelperArray extends ExaminationTestDefaults { +public class Test_110_HelperArray_getAlphabeticalFollowers extends ExaminationTestDefaults { private static void assertArrayEmpty(final String[] values){ Assert.assertArrayEquals( @@ -21,8 +21,6 @@ public class Test_HelperArray extends ExaminationTestDefaults { values); } - /* Section: getAlphabeticalFollowers */ - @Test @Marking(points = 4) public void test_400_testSpecialCases() { assertArrayEmpty(getAlphabeticalFollowers(null, null)); @@ -88,28 +86,4 @@ public class Test_HelperArray extends ExaminationTestDefaults { assertFilter(values, values, ""); assertFilter(values, values, "alph"); } - - - /* Section: getLeaders */ - - - @Test public void test_600_singleLeader() { - Assert.assertArrayEquals(new int[]{-3}, getLeaders(new int[]{-3})); - Assert.assertArrayEquals(new int[]{1, 0}, getLeaders(new int[]{1, 0})); - Assert.assertArrayEquals(new int[]{1}, getLeaders(new int[]{0, 1})); - } - - @Test public void test_620_edgeDuplicate() { - Assert.assertArrayEquals(new int[]{3, 3}, getLeaders(new int[]{1, 3, -2, 0, 3})); - Assert.assertArrayEquals(new int[]{4, 3}, getLeaders(new int[]{1, 4, -2, 0, 3})); - Assert.assertArrayEquals(new int[]{3}, getLeaders(new int[]{1, 2, -2, 0, 3})); - Assert.assertArrayEquals(new int[]{3, 3}, getLeaders(new int[]{3, 2, -2, 0, 3})); - Assert.assertArrayEquals(new int[]{6, 3}, getLeaders(new int[]{6, 2, -2, 0, 3})); - Assert.assertArrayEquals(new int[]{17, 5, 2}, getLeaders(new int[]{16, 17, 4, 3, 5, 2})); - } - - @Test public void test_640_all() { - Assert.assertArrayEquals(new int[]{5,4,3,2,1,0}, getLeaders(new int[]{5,4,3,2,1,0})); - Assert.assertArrayEquals(new int[]{4,4,4,4,4,4,4}, getLeaders(new int[]{4,4,4,4,4,4,4})); - } } \ No newline at end of file diff --git a/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_120_HelperArray_getLeaders.java b/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_120_HelperArray_getLeaders.java new file mode 100644 index 000000000..6f6b87cbf --- /dev/null +++ b/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_120_HelperArray_getLeaders.java @@ -0,0 +1,37 @@ +package de.hdm_stuttgart.mi.sd1.test.task1; + +import de.hdm_stuttgart.mi.exam.unitmarking.ExaminationTestDefaults; +import de.hdm_stuttgart.mi.exam.unitmarking.Marking; +import org.junit.Assert; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +import java.util.Arrays; + +import static de.hdm_stuttgart.mi.sd1.task1.HelperArray.getAlphabeticalFollowers; +import static de.hdm_stuttgart.mi.sd1.task1.HelperArray.getLeaders; + +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class Test_120_HelperArray_getLeaders extends ExaminationTestDefaults { + + @Test public void test_600_singleLeader() { + Assert.assertArrayEquals(new int[]{-3}, getLeaders(new int[]{-3})); + Assert.assertArrayEquals(new int[]{1, 0}, getLeaders(new int[]{1, 0})); + Assert.assertArrayEquals(new int[]{1}, getLeaders(new int[]{0, 1})); + } + + @Test public void test_620_edgeDuplicate() { + Assert.assertArrayEquals(new int[]{3, 3}, getLeaders(new int[]{1, 3, -2, 0, 3})); + Assert.assertArrayEquals(new int[]{4, 3}, getLeaders(new int[]{1, 4, -2, 0, 3})); + Assert.assertArrayEquals(new int[]{3}, getLeaders(new int[]{1, 2, -2, 0, 3})); + Assert.assertArrayEquals(new int[]{3, 3}, getLeaders(new int[]{3, 2, -2, 0, 3})); + Assert.assertArrayEquals(new int[]{6, 3}, getLeaders(new int[]{6, 2, -2, 0, 3})); + Assert.assertArrayEquals(new int[]{17, 5, 2}, getLeaders(new int[]{16, 17, 4, 3, 5, 2})); + } + + @Test public void test_640_all() { + Assert.assertArrayEquals(new int[]{5,4,3,2,1,0}, getLeaders(new int[]{5,4,3,2,1,0})); + Assert.assertArrayEquals(new int[]{4,4,4,4,4,4,4}, getLeaders(new int[]{4,4,4,4,4,4,4})); + } +} \ No newline at end of file diff --git a/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_Helper.java b/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_20_Helper_checkTitle.java similarity index 50% rename from Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_Helper.java rename to Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_20_Helper_checkTitle.java index 696732d3e..9fbbc20fc 100644 --- a/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_Helper.java +++ b/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_20_Helper_checkTitle.java @@ -1,5 +1,6 @@ package de.hdm_stuttgart.mi.sd1.test.task1; +import de.hdm_stuttgart.mi.exam.unitmarking.ExaminationTestDefaults; import de.hdm_stuttgart.mi.exam.unitmarking.Marking; import de.hdm_stuttgart.mi.sd1.task1.Helper; import org.junit.Assert; @@ -7,24 +8,8 @@ import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runners.MethodSorters; -import de.hdm_stuttgart.mi.exam.unitmarking.ExaminationTestDefaults; - @FixMethodOrder(MethodSorters.NAME_ASCENDING) -public class Test_Helper extends ExaminationTestDefaults { - - /* Section: isAscending */ - - @Test @Marking(points = 3) public void test_010_isAscending_positive() { - Assert.assertTrue(Helper.isAscending(1, 2, 3)); - Assert.assertFalse("Second value not greater than first", Helper.isAscending(1, 1, 3)); - Assert.assertFalse("All values are strictly descending", Helper.isAscending(3, 2, 1)); - } - - @Test @Marking(points = 3) public void test_020_isAscending_negative() { - Assert.assertTrue(Helper.isAscending(-41, -20, 30)); - Assert.assertFalse("Second value not greater than first", Helper.isAscending(-50, -50, 3)); - } - +public class Test_20_Helper_checkTitle extends ExaminationTestDefaults { /* Section: checkTitle */ @@ -70,49 +55,4 @@ public class Test_Helper extends ExaminationTestDefaults { Assert.assertTrue(Helper.checkTitle("You should not start with small caps")); } - - /* Section: isVowel(...) */ - - @Test @Marking(points = 5) public void test_410_checkVowel() { - - for (final char consonant: new char[]{ - 'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z'}) { - Assert.assertFalse(Helper.isVowel(consonant)); - Assert.assertFalse(Helper.isVowel(Character.toUpperCase(consonant))); - } - for (final char vowel: new char[]{'a', 'e', 'i', 'o', 'u'}) { - Assert.assertTrue(Helper.isVowel(vowel)); - Assert.assertTrue(Helper.isVowel(Character.toUpperCase(vowel))); - } - } - - /* Section: getNumberOfVowels(...) */ - - @Test @Marking(points = 2) public void test_420_getNumberOfVowels_null() { - Assert.assertEquals(0, Helper.getNumberOfVowels(null)); - } - - @Test @Marking(points = 2) public void test_430_getNumberOfVowels() { - Assert.assertEquals(0, Helper.getNumberOfVowels("")); - Assert.assertEquals(0, Helper.getNumberOfVowels("Thx")); - Assert.assertEquals(1, Helper.getNumberOfVowels("O")); - Assert.assertEquals(3, Helper.getNumberOfVowels("Oui")); - Assert.assertEquals(7, Helper.getNumberOfVowels("This is quite simple.")); - } - - /* Section: renameFileBasename */ - - @Test @Marking(points = 2) public void test_610_rename_noExtension() { - Assert.assertEquals("standard", Helper.renameFileBasename("standard", "standard")); - Assert.assertEquals("other", Helper.renameFileBasename("standard", "other")); - } - @Test @Marking(points = 3) public void test_620_rename_simpleExtension() { - Assert.assertEquals("doo.pdf", Helper.renameFileBasename("foo.pdf", "doo")); - Assert.assertEquals("doo.pdf", Helper.renameFileBasename(".pdf", "doo")); - } - @Test @Marking(points = 3) public void test_630_rename_complexExtension() { - Assert.assertEquals("new.tar.gz", Helper.renameFileBasename("archive.tar.gz", "new")); - Assert.assertEquals("cute.b.c.d.e.f", Helper.renameFileBasename("a.b.c.d.e.f", "cute")); - Assert.assertEquals("cute.b.c.d.e.f", Helper.renameFileBasename("a.b.c.d.e.f", "cute")); - } } \ No newline at end of file diff --git a/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_30_Helper_isVowel.java b/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_30_Helper_isVowel.java new file mode 100644 index 000000000..252c1edc4 --- /dev/null +++ b/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_30_Helper_isVowel.java @@ -0,0 +1,28 @@ +package de.hdm_stuttgart.mi.sd1.test.task1; + +import de.hdm_stuttgart.mi.exam.unitmarking.ExaminationTestDefaults; +import de.hdm_stuttgart.mi.exam.unitmarking.Marking; +import de.hdm_stuttgart.mi.sd1.task1.Helper; +import org.junit.Assert; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class Test_30_Helper_isVowel extends ExaminationTestDefaults { + + /* Section: isVowel(...) */ + + @Test @Marking(points = 5) public void test_410_checkVowel() { + + for (final char consonant: new char[]{ + 'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z'}) { + Assert.assertFalse(Helper.isVowel(consonant)); + Assert.assertFalse(Helper.isVowel(Character.toUpperCase(consonant))); + } + for (final char vowel: new char[]{'a', 'e', 'i', 'o', 'u'}) { + Assert.assertTrue(Helper.isVowel(vowel)); + Assert.assertTrue(Helper.isVowel(Character.toUpperCase(vowel))); + } + } +} \ No newline at end of file diff --git a/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_40_Helper_getNumberOfVowels.java b/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_40_Helper_getNumberOfVowels.java new file mode 100644 index 000000000..9a48b8add --- /dev/null +++ b/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_40_Helper_getNumberOfVowels.java @@ -0,0 +1,25 @@ +package de.hdm_stuttgart.mi.sd1.test.task1; + +import de.hdm_stuttgart.mi.exam.unitmarking.ExaminationTestDefaults; +import de.hdm_stuttgart.mi.exam.unitmarking.Marking; +import de.hdm_stuttgart.mi.sd1.task1.Helper; +import org.junit.Assert; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class Test_40_Helper_getNumberOfVowels extends ExaminationTestDefaults { + + @Test @Marking(points = 2) public void test_420_getNumberOfVowels_null() { + Assert.assertEquals(0, Helper.getNumberOfVowels(null)); + } + + @Test @Marking(points = 2) public void test_430_getNumberOfVowels() { + Assert.assertEquals(0, Helper.getNumberOfVowels("")); + Assert.assertEquals(0, Helper.getNumberOfVowels("Thx")); + Assert.assertEquals(1, Helper.getNumberOfVowels("O")); + Assert.assertEquals(3, Helper.getNumberOfVowels("Oui")); + Assert.assertEquals(7, Helper.getNumberOfVowels("This is quite simple.")); + } +} \ No newline at end of file diff --git a/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_50_Helper_renameFileBasename.java b/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_50_Helper_renameFileBasename.java new file mode 100644 index 000000000..2b2cf13ed --- /dev/null +++ b/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_50_Helper_renameFileBasename.java @@ -0,0 +1,28 @@ +package de.hdm_stuttgart.mi.sd1.test.task1; + +import de.hdm_stuttgart.mi.exam.unitmarking.Marking; +import de.hdm_stuttgart.mi.sd1.task1.Helper; +import org.junit.Assert; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +import de.hdm_stuttgart.mi.exam.unitmarking.ExaminationTestDefaults; + +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class Test_50_Helper_renameFileBasename extends ExaminationTestDefaults { + + @Test @Marking(points = 2) public void test_610_rename_noExtension() { + Assert.assertEquals("standard", Helper.renameFileBasename("standard", "standard")); + Assert.assertEquals("other", Helper.renameFileBasename("standard", "other")); + } + @Test @Marking(points = 3) public void test_620_rename_simpleExtension() { + Assert.assertEquals("doo.pdf", Helper.renameFileBasename("foo.pdf", "doo")); + Assert.assertEquals("doo.pdf", Helper.renameFileBasename(".pdf", "doo")); + } + @Test @Marking(points = 3) public void test_630_rename_complexExtension() { + Assert.assertEquals("new.tar.gz", Helper.renameFileBasename("archive.tar.gz", "new")); + Assert.assertEquals("cute.b.c.d.e.f", Helper.renameFileBasename("a.b.c.d.e.f", "cute")); + Assert.assertEquals("cute.b.c.d.e.f", Helper.renameFileBasename("a.b.c.d.e.f", "cute")); + } +} \ No newline at end of file diff --git a/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/ShowReachedPoints.java b/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/ShowReachedPoints.java index feca24669..7fb923a1e 100644 --- a/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/ShowReachedPoints.java +++ b/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/ShowReachedPoints.java @@ -1,8 +1,7 @@ package de.hdm_stuttgart.mi.sd1.test; import de.hdm_stuttgart.mi.exam.unitmarking.RunTests; -import de.hdm_stuttgart.mi.sd1.test.task1.Test_HelperArray; -import de.hdm_stuttgart.mi.sd1.test.task1.Test_Helper; +import de.hdm_stuttgart.mi.sd1.test.task1.*; import de.hdm_stuttgart.mi.sd1.test.task2.Test_ChangeAmount; public class ShowReachedPoints { @@ -14,11 +13,17 @@ public class ShowReachedPoints { */ public static void main(String[] args) { RunTests.exec( - "Aufgabe 1" - , Test_Helper.class - , Test_HelperArray.class - ); + "Task 1" + , Test_10_Helper_isAscending.class + , Test_20_Helper_checkTitle.class + , Test_30_Helper_isVowel.class + , Test_40_Helper_getNumberOfVowels.class + , Test_50_Helper_renameFileBasename.class - RunTests.exec("Aufgabe 2", Test_ChangeAmount.class); + , Test_110_HelperArray_getAlphabeticalFollowers.class + , Test_120_HelperArray_getLeaders.class + ); + + RunTests.exec("Task 2", Test_ChangeAmount.class); } } \ No newline at end of file diff --git a/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_10_Helper_isAscending.java b/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_10_Helper_isAscending.java new file mode 100644 index 000000000..fadf77d82 --- /dev/null +++ b/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_10_Helper_isAscending.java @@ -0,0 +1,26 @@ +package de.hdm_stuttgart.mi.sd1.test.task1; + +import de.hdm_stuttgart.mi.exam.unitmarking.ExaminationTestDefaults; +import de.hdm_stuttgart.mi.exam.unitmarking.Marking; +import de.hdm_stuttgart.mi.sd1.task1.Helper; +import org.junit.Assert; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class Test_10_Helper_isAscending extends ExaminationTestDefaults { + + /* Section: isAscending */ + + @Test @Marking(points = 3) public void test_010_isAscending_positive() { + Assert.assertTrue(Helper.isAscending(1, 2, 3)); + Assert.assertFalse("Second value not greater than first", Helper.isAscending(1, 1, 3)); + Assert.assertFalse("All values are strictly descending", Helper.isAscending(3, 2, 1)); + } + + @Test @Marking(points = 3) public void test_020_isAscending_negative() { + Assert.assertTrue(Helper.isAscending(-41, -20, 30)); + Assert.assertFalse("Second value not greater than first", Helper.isAscending(-50, -50, 3)); + } +} \ No newline at end of file diff --git a/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_HelperArray.java b/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_110_HelperArray_getAlphabeticalFollowers.java similarity index 68% rename from Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_HelperArray.java rename to Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_110_HelperArray_getAlphabeticalFollowers.java index 81fc6659d..b551802c5 100644 --- a/Klausuren/Sd1/2019summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_HelperArray.java +++ b/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_110_HelperArray_getAlphabeticalFollowers.java @@ -13,8 +13,7 @@ import static de.hdm_stuttgart.mi.sd1.task1.HelperArray.getAlphabeticalFollowers import static de.hdm_stuttgart.mi.sd1.task1.HelperArray.getLeaders; @FixMethodOrder(MethodSorters.NAME_ASCENDING) -@SuppressWarnings({"UnusedDeclaration"}) -public class Test_HelperArray extends ExaminationTestDefaults { +public class Test_110_HelperArray_getAlphabeticalFollowers extends ExaminationTestDefaults { private static void assertArrayEmpty(final String[] values){ Assert.assertArrayEquals( @@ -22,8 +21,6 @@ public class Test_HelperArray extends ExaminationTestDefaults { values); } - /* Section: getAlphabeticalFollowers */ - @Test @Marking(points = 4) public void test_400_testSpecialCases() { assertArrayEmpty(getAlphabeticalFollowers(null, null)); @@ -51,7 +48,7 @@ public class Test_HelperArray extends ExaminationTestDefaults { Assert.assertArrayEquals(expected, result); - Assert.assertArrayEquals(valuesCopy, values); // Original values untouched? + Assert.assertArrayEquals("Error: Original array value modifications", valuesCopy, values); } @@ -89,28 +86,4 @@ public class Test_HelperArray extends ExaminationTestDefaults { assertFilter(values, values, ""); assertFilter(values, values, "alph"); } - - - /* Section: getLeaders */ - - - @Test public void test_600_singleLeader() { - Assert.assertArrayEquals(new int[]{-3}, getLeaders(new int[]{-3})); - Assert.assertArrayEquals(new int[]{1, 0}, getLeaders(new int[]{1, 0})); - Assert.assertArrayEquals(new int[]{1}, getLeaders(new int[]{0, 1})); - } - - @Test public void test_620_edgeDuplicate() { - Assert.assertArrayEquals(new int[]{3, 3}, getLeaders(new int[]{1, 3, -2, 0, 3})); - Assert.assertArrayEquals(new int[]{4, 3}, getLeaders(new int[]{1, 4, -2, 0, 3})); - Assert.assertArrayEquals(new int[]{3}, getLeaders(new int[]{1, 2, -2, 0, 3})); - Assert.assertArrayEquals(new int[]{3, 3}, getLeaders(new int[]{3, 2, -2, 0, 3})); - Assert.assertArrayEquals(new int[]{6, 3}, getLeaders(new int[]{6, 2, -2, 0, 3})); - Assert.assertArrayEquals(new int[]{17, 5, 2}, getLeaders(new int[]{16, 17, 4, 3, 5, 2})); - } - - @Test public void test_640_all() { - Assert.assertArrayEquals(new int[]{5,4,3,2,1,0}, getLeaders(new int[]{5,4,3,2,1,0})); - Assert.assertArrayEquals(new int[]{4,4,4,4,4,4,4}, getLeaders(new int[]{4,4,4,4,4,4,4})); - } } \ No newline at end of file diff --git a/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_120_HelperArray_getLeaders.java b/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_120_HelperArray_getLeaders.java new file mode 100644 index 000000000..6f6b87cbf --- /dev/null +++ b/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_120_HelperArray_getLeaders.java @@ -0,0 +1,37 @@ +package de.hdm_stuttgart.mi.sd1.test.task1; + +import de.hdm_stuttgart.mi.exam.unitmarking.ExaminationTestDefaults; +import de.hdm_stuttgart.mi.exam.unitmarking.Marking; +import org.junit.Assert; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +import java.util.Arrays; + +import static de.hdm_stuttgart.mi.sd1.task1.HelperArray.getAlphabeticalFollowers; +import static de.hdm_stuttgart.mi.sd1.task1.HelperArray.getLeaders; + +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class Test_120_HelperArray_getLeaders extends ExaminationTestDefaults { + + @Test public void test_600_singleLeader() { + Assert.assertArrayEquals(new int[]{-3}, getLeaders(new int[]{-3})); + Assert.assertArrayEquals(new int[]{1, 0}, getLeaders(new int[]{1, 0})); + Assert.assertArrayEquals(new int[]{1}, getLeaders(new int[]{0, 1})); + } + + @Test public void test_620_edgeDuplicate() { + Assert.assertArrayEquals(new int[]{3, 3}, getLeaders(new int[]{1, 3, -2, 0, 3})); + Assert.assertArrayEquals(new int[]{4, 3}, getLeaders(new int[]{1, 4, -2, 0, 3})); + Assert.assertArrayEquals(new int[]{3}, getLeaders(new int[]{1, 2, -2, 0, 3})); + Assert.assertArrayEquals(new int[]{3, 3}, getLeaders(new int[]{3, 2, -2, 0, 3})); + Assert.assertArrayEquals(new int[]{6, 3}, getLeaders(new int[]{6, 2, -2, 0, 3})); + Assert.assertArrayEquals(new int[]{17, 5, 2}, getLeaders(new int[]{16, 17, 4, 3, 5, 2})); + } + + @Test public void test_640_all() { + Assert.assertArrayEquals(new int[]{5,4,3,2,1,0}, getLeaders(new int[]{5,4,3,2,1,0})); + Assert.assertArrayEquals(new int[]{4,4,4,4,4,4,4}, getLeaders(new int[]{4,4,4,4,4,4,4})); + } +} \ No newline at end of file diff --git a/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_Helper.java b/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_20_Helper_checkTitle.java similarity index 50% rename from Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_Helper.java rename to Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_20_Helper_checkTitle.java index 696732d3e..9fbbc20fc 100644 --- a/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_Helper.java +++ b/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_20_Helper_checkTitle.java @@ -1,5 +1,6 @@ package de.hdm_stuttgart.mi.sd1.test.task1; +import de.hdm_stuttgart.mi.exam.unitmarking.ExaminationTestDefaults; import de.hdm_stuttgart.mi.exam.unitmarking.Marking; import de.hdm_stuttgart.mi.sd1.task1.Helper; import org.junit.Assert; @@ -7,24 +8,8 @@ import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runners.MethodSorters; -import de.hdm_stuttgart.mi.exam.unitmarking.ExaminationTestDefaults; - @FixMethodOrder(MethodSorters.NAME_ASCENDING) -public class Test_Helper extends ExaminationTestDefaults { - - /* Section: isAscending */ - - @Test @Marking(points = 3) public void test_010_isAscending_positive() { - Assert.assertTrue(Helper.isAscending(1, 2, 3)); - Assert.assertFalse("Second value not greater than first", Helper.isAscending(1, 1, 3)); - Assert.assertFalse("All values are strictly descending", Helper.isAscending(3, 2, 1)); - } - - @Test @Marking(points = 3) public void test_020_isAscending_negative() { - Assert.assertTrue(Helper.isAscending(-41, -20, 30)); - Assert.assertFalse("Second value not greater than first", Helper.isAscending(-50, -50, 3)); - } - +public class Test_20_Helper_checkTitle extends ExaminationTestDefaults { /* Section: checkTitle */ @@ -70,49 +55,4 @@ public class Test_Helper extends ExaminationTestDefaults { Assert.assertTrue(Helper.checkTitle("You should not start with small caps")); } - - /* Section: isVowel(...) */ - - @Test @Marking(points = 5) public void test_410_checkVowel() { - - for (final char consonant: new char[]{ - 'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z'}) { - Assert.assertFalse(Helper.isVowel(consonant)); - Assert.assertFalse(Helper.isVowel(Character.toUpperCase(consonant))); - } - for (final char vowel: new char[]{'a', 'e', 'i', 'o', 'u'}) { - Assert.assertTrue(Helper.isVowel(vowel)); - Assert.assertTrue(Helper.isVowel(Character.toUpperCase(vowel))); - } - } - - /* Section: getNumberOfVowels(...) */ - - @Test @Marking(points = 2) public void test_420_getNumberOfVowels_null() { - Assert.assertEquals(0, Helper.getNumberOfVowels(null)); - } - - @Test @Marking(points = 2) public void test_430_getNumberOfVowels() { - Assert.assertEquals(0, Helper.getNumberOfVowels("")); - Assert.assertEquals(0, Helper.getNumberOfVowels("Thx")); - Assert.assertEquals(1, Helper.getNumberOfVowels("O")); - Assert.assertEquals(3, Helper.getNumberOfVowels("Oui")); - Assert.assertEquals(7, Helper.getNumberOfVowels("This is quite simple.")); - } - - /* Section: renameFileBasename */ - - @Test @Marking(points = 2) public void test_610_rename_noExtension() { - Assert.assertEquals("standard", Helper.renameFileBasename("standard", "standard")); - Assert.assertEquals("other", Helper.renameFileBasename("standard", "other")); - } - @Test @Marking(points = 3) public void test_620_rename_simpleExtension() { - Assert.assertEquals("doo.pdf", Helper.renameFileBasename("foo.pdf", "doo")); - Assert.assertEquals("doo.pdf", Helper.renameFileBasename(".pdf", "doo")); - } - @Test @Marking(points = 3) public void test_630_rename_complexExtension() { - Assert.assertEquals("new.tar.gz", Helper.renameFileBasename("archive.tar.gz", "new")); - Assert.assertEquals("cute.b.c.d.e.f", Helper.renameFileBasename("a.b.c.d.e.f", "cute")); - Assert.assertEquals("cute.b.c.d.e.f", Helper.renameFileBasename("a.b.c.d.e.f", "cute")); - } } \ No newline at end of file diff --git a/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_30_Helper_isVowel.java b/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_30_Helper_isVowel.java new file mode 100644 index 000000000..252c1edc4 --- /dev/null +++ b/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_30_Helper_isVowel.java @@ -0,0 +1,28 @@ +package de.hdm_stuttgart.mi.sd1.test.task1; + +import de.hdm_stuttgart.mi.exam.unitmarking.ExaminationTestDefaults; +import de.hdm_stuttgart.mi.exam.unitmarking.Marking; +import de.hdm_stuttgart.mi.sd1.task1.Helper; +import org.junit.Assert; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class Test_30_Helper_isVowel extends ExaminationTestDefaults { + + /* Section: isVowel(...) */ + + @Test @Marking(points = 5) public void test_410_checkVowel() { + + for (final char consonant: new char[]{ + 'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z'}) { + Assert.assertFalse(Helper.isVowel(consonant)); + Assert.assertFalse(Helper.isVowel(Character.toUpperCase(consonant))); + } + for (final char vowel: new char[]{'a', 'e', 'i', 'o', 'u'}) { + Assert.assertTrue(Helper.isVowel(vowel)); + Assert.assertTrue(Helper.isVowel(Character.toUpperCase(vowel))); + } + } +} \ No newline at end of file diff --git a/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_40_Helper_getNumberOfVowels.java b/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_40_Helper_getNumberOfVowels.java new file mode 100644 index 000000000..9a48b8add --- /dev/null +++ b/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_40_Helper_getNumberOfVowels.java @@ -0,0 +1,25 @@ +package de.hdm_stuttgart.mi.sd1.test.task1; + +import de.hdm_stuttgart.mi.exam.unitmarking.ExaminationTestDefaults; +import de.hdm_stuttgart.mi.exam.unitmarking.Marking; +import de.hdm_stuttgart.mi.sd1.task1.Helper; +import org.junit.Assert; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class Test_40_Helper_getNumberOfVowels extends ExaminationTestDefaults { + + @Test @Marking(points = 2) public void test_420_getNumberOfVowels_null() { + Assert.assertEquals(0, Helper.getNumberOfVowels(null)); + } + + @Test @Marking(points = 2) public void test_430_getNumberOfVowels() { + Assert.assertEquals(0, Helper.getNumberOfVowels("")); + Assert.assertEquals(0, Helper.getNumberOfVowels("Thx")); + Assert.assertEquals(1, Helper.getNumberOfVowels("O")); + Assert.assertEquals(3, Helper.getNumberOfVowels("Oui")); + Assert.assertEquals(7, Helper.getNumberOfVowels("This is quite simple.")); + } +} \ No newline at end of file diff --git a/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_50_Helper_renameFileBasename.java b/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_50_Helper_renameFileBasename.java new file mode 100644 index 000000000..2b2cf13ed --- /dev/null +++ b/Klausuren/Sd1/2019summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/task1/Test_50_Helper_renameFileBasename.java @@ -0,0 +1,28 @@ +package de.hdm_stuttgart.mi.sd1.test.task1; + +import de.hdm_stuttgart.mi.exam.unitmarking.Marking; +import de.hdm_stuttgart.mi.sd1.task1.Helper; +import org.junit.Assert; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +import de.hdm_stuttgart.mi.exam.unitmarking.ExaminationTestDefaults; + +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class Test_50_Helper_renameFileBasename extends ExaminationTestDefaults { + + @Test @Marking(points = 2) public void test_610_rename_noExtension() { + Assert.assertEquals("standard", Helper.renameFileBasename("standard", "standard")); + Assert.assertEquals("other", Helper.renameFileBasename("standard", "other")); + } + @Test @Marking(points = 3) public void test_620_rename_simpleExtension() { + Assert.assertEquals("doo.pdf", Helper.renameFileBasename("foo.pdf", "doo")); + Assert.assertEquals("doo.pdf", Helper.renameFileBasename(".pdf", "doo")); + } + @Test @Marking(points = 3) public void test_630_rename_complexExtension() { + Assert.assertEquals("new.tar.gz", Helper.renameFileBasename("archive.tar.gz", "new")); + Assert.assertEquals("cute.b.c.d.e.f", Helper.renameFileBasename("a.b.c.d.e.f", "cute")); + Assert.assertEquals("cute.b.c.d.e.f", Helper.renameFileBasename("a.b.c.d.e.f", "cute")); + } +} \ No newline at end of file -- GitLab