package de.jollyday.tests.parsers; import static org.junit.Assert.*; import java.time.LocalDate; import java.util.HashSet; import java.util.Set; import org.junit.Test; import de.jollyday.Holiday; import de.jollyday.config.Holidays; import de.jollyday.config.RelativeToEasterSunday; import de.jollyday.parser.impl.RelativeToEasterSundayParser; import de.jollyday.util.CalendarUtil; public class RelativeToEasterSundayParserTest { RelativeToEasterSundayParser parser = new RelativeToEasterSundayParser(); Set<Holiday> holidays = new HashSet<>(); CalendarUtil calendarUtil = new CalendarUtil(); @Test public void testForEasterMonday() { doTest(2013, 1); } @Test public void testForEasterSaturday() { doTest(2013, -1); } private void doTest(int year, int days) { Holidays holidaysConfig = new Holidays(); addRelativeToEasterHoliday(holidaysConfig, days); parser.parse(year, holidays, holidaysConfig); assertEquals("Missing holiday.", 1, holidays.size()); Holiday h = holidays.iterator().next(); LocalDate targetDate = calendarUtil.getEasterSunday(year).plusDays(days); assertEquals("Wrong date found.", targetDate, h.getDate()); } private void addRelativeToEasterHoliday(Holidays holidaysConfig, int days) { RelativeToEasterSunday r = new RelativeToEasterSunday(); r.setDays(days); holidaysConfig.getRelativeToEasterSunday().add(r); } }