use of name.abuchen.portfolio.datatransfer.pdf.PDFInputFile in project portfolio by buchen.
the class ConsorsbankPDFExtractorPDFTest method testErtragsgutschrift7_USD_Freibetrag_nicht_ausgeschoepft.
@Test
public void testErtragsgutschrift7_USD_Freibetrag_nicht_ausgeschoepft() throws IOException {
ConsorsbankPDFExtractor extractor = new ConsorsbankPDFExtractor(new Client());
List<Exception> errors = new ArrayList<Exception>();
URL url = FileLocator.resolve(getClass().getResource("ConsorsbankErtragsgutschrift7_USD_Freibetrag_nicht_ausgeschoepft.pdf"));
PDFInputFile inputFile = new PDFInputFile(new File(url.getPath()));
inputFile.parse();
List<Item> results = extractor.extract(Arrays.asList(inputFile), errors);
assertThat(errors, empty());
assertThat(results.size(), is(2));
// check security
Security security = results.stream().filter(i -> i instanceof SecurityItem).findFirst().get().getSecurity();
assertThat(security.getWkn(), is("200417"));
assertThat(security.getName(), is("ALTRIA GROUP INC."));
// check dividend transaction
AccountTransaction t = (AccountTransaction) results.stream().filter(i -> i instanceof TransactionItem).filter(i -> ((AccountTransaction) i.getSubject()).getType() == AccountTransaction.Type.DIVIDENDS).findFirst().get().getSubject();
assertThat(t.getDateTime(), is(LocalDateTime.parse("2016-01-11T00:00")));
assertThat(t.getShares(), is(Values.Share.factorize(650)));
assertThat(t.getMonetaryAmount(), is(Money.of("EUR", 285_60)));
assertThat(t.getUnit(Unit.Type.GROSS_VALUE).get().getForex(), is(Money.of("USD", 367_25)));
// check tax
// QUEST
assertThat(t.getUnitSum(Type.TAX), is(Money.of("EUR", 50_40)));
}
Aggregations