/** * Copyright (C) 2015 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.strata.report.trade; import static org.testng.Assert.assertEquals; import org.testng.annotations.Test; import com.opengamma.strata.collect.io.IniFile; import com.opengamma.strata.collect.io.ResourceLocator; /** * Test {@link TradeReportTemplateIniLoader}. */ @Test public class TradeReportTemplateIniLoaderTest { public void test_simple_values() { TradeReportTemplate template = parseIni("trade-report-test-simple.ini"); TradeReportColumn productColumn = TradeReportColumn.builder() .value("Product") .header("Product") .build(); TradeReportColumn pvColumn = TradeReportColumn.builder() .value("Measures.PresentValue") .header("Present Value") .build(); assertEquals(template.getColumns().size(), 2); assertEquals(template.getColumns().get(0), productColumn); assertEquals(template.getColumns().get(1), pvColumn); } public void test_path() { TradeReportTemplate template = parseIni("trade-report-test-path.ini"); TradeReportColumn payLegCcyColumn = TradeReportColumn.builder() .value("Measures.LegInitialNotional.pay.currency") .header("Pay Leg Ccy") .build(); assertEquals(template.getColumns().size(), 1); assertEquals(template.getColumns().get(0), payLegCcyColumn); } public void test_ignore_failures() { TradeReportTemplate template = parseIni("trade-report-test-ignore-failures.ini"); TradeReportColumn payLegCcyColumn = TradeReportColumn.builder() .value("Measures.LegInitialNotional.pay.currency") .header("Pay Leg Ccy") .build(); TradeReportColumn pvColumn = TradeReportColumn.builder() .value("Measures.PresentValue") .header("Present Value") .ignoreFailures(true) .build(); assertEquals(template.getColumns().size(), 2); assertEquals(template.getColumns().get(0), payLegCcyColumn); assertEquals(template.getColumns().get(1), pvColumn); } private TradeReportTemplate parseIni(String resourceName) { ResourceLocator locator = ResourceLocator.of("classpath:" + resourceName); IniFile ini = IniFile.of(locator.getCharSource()); TradeReportTemplateIniLoader loader = new TradeReportTemplateIniLoader(); return loader.load(ini); } }