public void test_load_security() {
TradeCsvLoader test = TradeCsvLoader.standard();
ValueWithFailures<List<Trade>> trades = test.load(FILE);
List<SecurityTrade> filtered = trades.getValue().stream()
.flatMap(filtering(SecurityTrade.class))
.collect(toImmutableList());
assertEquals(filtered.size(), 2);
SecurityTrade expected1 = SecurityTrade.builder()
.info(TradeInfo.builder()
.id(StandardId.of("OG", "123431"))
.tradeDate(date(2017, 6, 1))
.settlementDate(date(2017, 6, 3))
.build())
.securityId(SecurityId.of("OG-Security", "AAPL"))
.quantity(12)
.price(14.5)
.build();
assertBeanEquals(expected1, filtered.get(0));
SecurityTrade expected2 = SecurityTrade.builder()
.info(TradeInfo.builder()
.id(StandardId.of("OG", "123432"))
.tradeDate(date(2017, 6, 1))
.settlementDate(date(2017, 6, 3))
.build())
.securityId(SecurityId.of("BBG", "MSFT"))
.quantity(-20)
.price(17.8)
.build();
assertBeanEquals(expected2, filtered.get(1));
}