/**
* Copyright (C) 2015 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.strata.basics.date;
import static com.opengamma.strata.collect.TestHelper.caputureLog;
import static com.opengamma.strata.collect.TestHelper.date;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertTrue;
import java.time.format.DateTimeParseException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import org.testng.annotations.Test;
import com.google.common.collect.ImmutableMap;
/**
* Test {@link HolidayCalendar}.
*/
@Test
public class HolidayCalendarIniLookupTest {
public void test_valid1() {
ImmutableMap<String, HolidayCalendar> lookup = HolidayCalendarIniLookup.loadFromIni("HolidayCalendarDataValid1.ini");
assertEquals(lookup.size(), 1);
HolidayCalendar test = lookup.get("TEST-VALID");
assertTrue(test.isHoliday(date(2015, 1, 1)));
assertTrue(test.isHoliday(date(2015, 1, 6)));
assertTrue(test.isHoliday(date(2015, 4, 5)));
assertTrue(test.isHoliday(date(2015, 12, 25)));
assertTrue(test.isHoliday(date(2016, 1, 1)));
assertEquals(test.getName(), "TEST-VALID");
assertEquals(test.toString(), "HolidayCalendar[TEST-VALID]");
}
public void test_valid2() {
ImmutableMap<String, HolidayCalendar> lookup = HolidayCalendarIniLookup.loadFromIni("HolidayCalendarDataValid2.ini");
assertEquals(lookup.size(), 1);
HolidayCalendar test = lookup.get("TEST-VALID");
assertTrue(test.isHoliday(date(2015, 1, 1)));
assertTrue(test.isHoliday(date(2015, 1, 6)));
assertTrue(test.isHoliday(date(2015, 4, 5)));
assertTrue(test.isHoliday(date(2015, 12, 25)));
assertTrue(test.isHoliday(date(2016, 1, 1)));
assertEquals(test.getName(), "TEST-VALID");
assertEquals(test.toString(), "HolidayCalendar[TEST-VALID]");
}
public void test_valid1equals2() {
ImmutableMap<String, HolidayCalendar> lookup1 = HolidayCalendarIniLookup.loadFromIni("HolidayCalendarDataValid1.ini");
ImmutableMap<String, HolidayCalendar> lookup2 = HolidayCalendarIniLookup.loadFromIni("HolidayCalendarDataValid2.ini");
assertEquals(lookup1, lookup2);
}
public synchronized void test_invalid1_invalidYear() {
List<LogRecord> captured = caputureLog(
HolidayCalendarIniLookup.class,
() -> HolidayCalendarIniLookup.loadFromIni("HolidayCalendarDataInvalid1.ini"));
assertEquals(captured.size(), 1);
LogRecord record = captured.get(0);
assertEquals(record.getLevel(), Level.SEVERE);
assertTrue(record.getThrown().getMessage().contains("Parsed date had incorrect year"));
}
public synchronized void test_invalid1_invalidDayOfWeek() {
List<LogRecord> captured = caputureLog(
HolidayCalendarIniLookup.class,
() -> HolidayCalendarIniLookup.loadFromIni("HolidayCalendarDataInvalid2.ini"));
assertEquals(captured.size(), 1);
LogRecord record = captured.get(0);
assertEquals(record.getLevel(), Level.SEVERE);
assertTrue(record.getThrown() instanceof DateTimeParseException);
assertTrue(record.getThrown().getMessage().contains("'Bob'"));
}
}