Skip to content

Commit

Permalink
Merge pull request svendiedrichsen#39 from MoriTanosuke/master
Browse files Browse the repository at this point in the history
Add method to create ManagerParameter from Locale
  • Loading branch information
svendiedrichsen authored Oct 23, 2016
2 parents 6a7e94e + aaf968e commit d0208f5
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 4 deletions.
12 changes: 8 additions & 4 deletions src/main/java/de/jollyday/ManagerParameters.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,18 @@
import de.jollyday.parameter.UrlManagerParameter;

public final class ManagerParameters {

private ManagerParameters(){
}

public static ManagerParameter create(String calendarPart){
return create(calendarPart, null);
}


public static ManagerParameter create(Locale lc) {
return create(lc.getCountry().toLowerCase(), null);
}

public static ManagerParameter create(HolidayCalendar calendar){
return create(calendar, null);
}
Expand All @@ -34,8 +38,8 @@ public static ManagerParameter create(String calendarPart, Properties properties

public static ManagerParameter create(URL calendarFileUrl, Properties properties){
return new UrlManagerParameter(calendarFileUrl, properties);
}
}

private static String prepareCalendarName(String calendar) {
if (calendar == null || "".equals(calendar.trim())) {
calendar = Locale.getDefault().getCountry().toLowerCase();
Expand Down
24 changes: 24 additions & 0 deletions src/test/java/de/jollyday/parameter/ManagerParametersTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package de.jollyday.parameter;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

import de.jollyday.HolidayManager;
import de.jollyday.ManagerParameter;
import de.jollyday.ManagerParameters;
import java.util.Calendar;
import java.util.Locale;
import org.junit.Test;

public class ManagerParametersTest {
@Test
public void testCreateParameterFromLocale() {
ManagerParameter params = ManagerParameters.create(Locale.GERMANY);
HolidayManager manager = HolidayManager.getInstance(params);
assertEquals(Locale.GERMANY.getCountry().toLowerCase(), manager.getCalendarHierarchy().getId());
Calendar thirdOfOctober = Calendar.getInstance();
thirdOfOctober.set(Calendar.MONTH, Calendar.OCTOBER);
thirdOfOctober.set(Calendar.DAY_OF_MONTH, 3);
assertTrue("Oct 3rd should be a holiday in " + Locale.GERMANY, manager.isHoliday(thirdOfOctober));
}
}

0 comments on commit d0208f5

Please sign in to comment.