diff --git a/core-java/src/main/java/com/geekyhacker/core/NoEnumMapExample.java b/core-java/src/main/java/com/geekyhacker/core/NoEnumMapExample.java new file mode 100644 index 0000000..d5d7f5a --- /dev/null +++ b/core-java/src/main/java/com/geekyhacker/core/NoEnumMapExample.java @@ -0,0 +1,27 @@ +package com.geekyhacker.core; + +import java.time.DayOfWeek; +import java.util.HashMap; +import java.util.Map; + +public class NoEnumMapExample { + private static final Map germanDayOfWeeks = new HashMap<>(); + + static { + germanDayOfWeeks.put(DayOfWeek.MONDAY.name(), "Montag"); + germanDayOfWeeks.put(DayOfWeek.TUESDAY.name(), "Dienstag"); + germanDayOfWeeks.put(DayOfWeek.WEDNESDAY.name(), "Mittwoch"); + germanDayOfWeeks.put(DayOfWeek.THURSDAY.name(), "Donnerstag"); + germanDayOfWeeks.put(DayOfWeek.FRIDAY.name(), "Freitag"); + germanDayOfWeeks.put(DayOfWeek.SATURDAY.name(), "Samstag"); + germanDayOfWeeks.put(DayOfWeek.SUNDAY.name(), "Sonntag"); + } + + private NoEnumMapExample() { + + } + + public static String getCorrespondingGermanDayOfWeek(DayOfWeek englishDayOfWeek) { + return germanDayOfWeeks.get(englishDayOfWeek.name()); + } +} diff --git a/core-java/src/test/java/com/geekyhacker/core/NoEnumMapExampleTest.java b/core-java/src/test/java/com/geekyhacker/core/NoEnumMapExampleTest.java new file mode 100644 index 0000000..add3399 --- /dev/null +++ b/core-java/src/test/java/com/geekyhacker/core/NoEnumMapExampleTest.java @@ -0,0 +1,20 @@ +package com.geekyhacker.core; + +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.CsvSource; + +import java.time.DayOfWeek; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class NoEnumMapExampleTest { + + @ParameterizedTest + @CsvSource(value = {"MONDAY,Montag", "TUESDAY,Dienstag", "WEDNESDAY,Mittwoch", + "THURSDAY,Donnerstag", "FRIDAY,Freitag", "SATURDAY,Samstag", "SUNDAY,Sonntag"}) + void shouldRetrieveCorrespondingDayOfWeekInGerman(DayOfWeek dayOfWeek, String expectedGermanDayOfWeek) { + var germanDayOfWeek = EnumMapExample.getCorrespondingGermanDayOfWeek(dayOfWeek); + assertEquals(expectedGermanDayOfWeek, germanDayOfWeek); + } + +} \ No newline at end of file