package nl.hsac.fitnesse.fixture.util; import org.junit.Test; import java.util.HashMap; import java.util.Map; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; /** * Tests DatesHelper. */ public class DatesHelperTest { private final DatesHelper helper = new DatesHelper(); /** * Tests adding without dates. */ @Test public void testAddNoDates() { Map<String, Object> values = new HashMap<String, Object>(); values.put("datum", "asdad"); values.put("null", null); values.put("int", 23); Map<String, Object> expected = new HashMap<String, Object>(); expected.putAll(values); helper.addDerivedDates(values); assertEquals("Not same as input: " + values, expected, values); } /** * Tests adding with XML dates. */ @Test public void testAddXMLDate() { Map<String, Object> values = new HashMap<String, Object>(); values.put("datum", "asdad"); values.put("date1", "1900-01-23"); values.put("null", null); values.put("int", 23); values.put("date2", "1975-05-02"); helper.addDerivedDates(values); checkKeyValue(values, "date1_day", "23"); checkKeyValue(values, "date1_month", "01"); checkKeyValue(values, "date1_year", "1900"); checkKeyValue(values, "date1", "1900-01-23"); checkKeyValue(values, "date2_day", "02"); checkKeyValue(values, "date2_month", "05"); checkKeyValue(values, "date2_year", "1975"); checkKeyValue(values, "date2", "1975-05-02"); } /** * Tests adding with NL dates. */ @Test public void testAddNLDate() { Map<String, Object> values = new HashMap<String, Object>(); values.put("datum", "asdad"); values.put("date1", "23-1-1900"); values.put("null", null); values.put("int", 23); values.put("date2", "2-05-1975"); helper.addDerivedDates(values); checkKeyValue(values, "date1_day", "23"); checkKeyValue(values, "date1_month", "01"); checkKeyValue(values, "date1_year", "1900"); checkKeyValue(values, "date1", "23-1-1900"); checkKeyValue(values, "date2_day", "02"); checkKeyValue(values, "date2_month", "05"); checkKeyValue(values, "date2_year", "1975"); checkKeyValue(values, "date2", "2-05-1975"); } /** * Tests adding with own postfixes. */ @Test public void testOwnPostfixes() { Map<String, Object> values = new HashMap<String, Object>(); values.put("datum", "asdad"); values.put("date1", "23-1-1900"); values.put("null", null); values.put("int", 23); values.put("date2", "1975-02-01"); helper.setDayPattern("%s_dag"); helper.setMonthPattern("%s_maand"); helper.setYearPattern("%s+jaar"); helper.addDerivedDates(values); checkKeyValue(values, "date1_dag", "23"); checkKeyValue(values, "date1_maand", "01"); checkKeyValue(values, "date1+jaar", "1900"); checkKeyValue(values, "date1", "23-1-1900"); checkKeyValue(values, "date2_dag", "01"); checkKeyValue(values, "date2_maand", "02"); checkKeyValue(values, "date2+jaar", "1975"); checkKeyValue(values, "date2", "1975-02-01"); } private void checkKeyValue(Map<String, Object> values, String key, String expectedValue) { assertTrue("Did not contain key: " + key + ". " + values, values.containsKey(key)); assertEquals("Wrong value for key: " + key, expectedValue, values.get(key)); } }