diff --git a/Klausuren/Sd1/2023winter/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/task1/B_MaxTest.java b/Klausuren/Sd1/2023winter/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/task1/B_MaxTest.java index d1e1779072d56c936ec178c43924e44fa6b20225..61af316f661ec03fe3f418cd21feb22292c38453 100644 --- a/Klausuren/Sd1/2023winter/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/task1/B_MaxTest.java +++ b/Klausuren/Sd1/2023winter/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/task1/B_MaxTest.java @@ -19,13 +19,13 @@ public class B_MaxTest extends ExaminationTestDefaults { assertMaximum(5.1, 0.1, 5, '+'); assertMaximum(35, 7, 0.2, '/'); assertMaximum(-1.4,-7, 0.2, '*'); - assertMaximum(4,2, 2, '+'); + assertMaximum(4,2, 2, '+', '*'); } - private static void assertMaximum(final double expected, final double first, final double second, char operation) { + private static void assertMaximum(final double expected, final double first, final double second, char ... operation) { - final StringBuilder errMsg = new StringBuilder("Expected maximum is " + expected + " == " + first + " " + - operation + " "); + final StringBuilder errMsg = new StringBuilder("Expected maximum is ").append(expected).append(" == "). + append(first).append(" ").append(join(operation)).append(" "); if (second < 0) { errMsg.append("(" + second + ")"); @@ -34,4 +34,16 @@ public class B_MaxTest extends ExaminationTestDefaults { } Assert.assertEquals(errMsg.toString(), expected, B_Max.getBasicCalculationMax(first, second), PRECISION); } + + private static String join(char[] operations) { + if (1 == operations.length) { + return Character.toString(operations[0]); + } else { + StringBuilder ret = new StringBuilder("{") .append(operations[0]); + for (int i = 1; i < operations.length; i++) { + ret.append(" or ").append(operations[i]); + } + return ret.append('}').toString(); + } + } }