use of name.abuchen.portfolio.datatransfer.pdf.ComdirectPDFExtractor in project portfolio by buchen.
the class ComdirectPDFExtractorTest method testWertpapierKauf8.
@Test
public void testWertpapierKauf8() throws IOException {
ComdirectPDFExtractor extractor = new ComdirectPDFExtractor(new Client());
List<Exception> errors = new ArrayList<Exception>();
List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "comdirectWertpapierabrechnung_Kauf8.txt"), errors);
assertThat(errors, empty());
assertThat(results.size(), is(2));
Optional<Item> item;
// security
item = results.stream().filter(i -> i instanceof SecurityItem).findFirst();
assertThat(item.isPresent(), is(true));
Security security = ((SecurityItem) item.get()).getSecurity();
assertThat(security.getName(), is("T. Rowe Price Group Inc."));
assertThat(security.getIsin(), is("US74144T1088"));
assertThat(security.getWkn(), is("870967"));
item = results.stream().filter(i -> i instanceof BuySellEntryItem).findFirst();
assertThat(item.isPresent(), is(true));
assertThat(item.get().getSubject(), instanceOf(BuySellEntry.class));
BuySellEntry entry = (BuySellEntry) item.get().getSubject();
assertThat(entry.getPortfolioTransaction().getType(), is(PortfolioTransaction.Type.BUY));
assertThat(entry.getAccountTransaction().getType(), is(AccountTransaction.Type.BUY));
assertThat(entry.getPortfolioTransaction().getAmount(), is(Values.Amount.factorize(1469.55)));
assertThat(entry.getPortfolioTransaction().getDateTime(), is(LocalDateTime.parse("2016-11-08T00:00")));
assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(2.9 + 9.9))));
assertThat(entry.getPortfolioTransaction().getShares(), is(Values.Share.factorize(25)));
}
use of name.abuchen.portfolio.datatransfer.pdf.ComdirectPDFExtractor in project portfolio by buchen.
the class ComdirectPDFExtractorTest method testDividende3withTax.
@Test
public void testDividende3withTax() throws IOException {
ComdirectPDFExtractor extractor = new ComdirectPDFExtractor(new Client());
List<Exception> errors = new ArrayList<Exception>();
List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "comdirectDividende3.txt", "comdirectDividende3_Steuer.txt"), errors);
assertThat(errors, empty());
assertThat(results.size(), is(3));
// security
Optional<Item> item = results.stream().filter(i -> i instanceof SecurityItem).findFirst();
assertThat(item.isPresent(), is(true));
Security security = ((SecurityItem) item.get()).getSecurity();
assertThat(security.getIsin(), is("US1266501006"));
assertThat(security.getName(), is("C V S He a lt h C or p ."));
assertThat(security.getWkn(), is("859034"));
List<AccountTransaction> items = results.stream().filter(i -> i instanceof TransactionItem && i.getSubject() instanceof AccountTransaction).map(i -> (AccountTransaction) i.getSubject()).collect(Collectors.toList());
assertThat(items.size(), is(2));
// dividend
Optional<AccountTransaction> oTransaction = items.stream().filter(t -> AccountTransaction.Type.DIVIDENDS.equals(t.getType())).findFirst();
assertThat(oTransaction.isPresent(), is(true));
AccountTransaction transaction = oTransaction.get();
assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2017-11-07T00:00")));
assertThat(transaction.getSecurity(), is(security));
assertThat(transaction.getAmount(), is(Values.Amount.factorize(11.65)));
assertThat(transaction.getShares(), is(Values.Share.factorize(32)));
// tax
oTransaction = items.stream().filter(t -> AccountTransaction.Type.TAXES.equals(t.getType())).findFirst();
assertThat(oTransaction.isPresent(), is(true));
transaction = oTransaction.get();
assertThat(transaction.getShares(), is(Values.Share.factorize(32)));
assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2017-11-07T00:00")));
assertThat(transaction.getUnitSum(Type.TAX), is(Money.of("EUR", 1_37 + 7)));
assertThat(transaction.getAmount(), is(Values.Amount.factorize(1.44)));
}
use of name.abuchen.portfolio.datatransfer.pdf.ComdirectPDFExtractor in project portfolio by buchen.
the class ComdirectPDFExtractorTest method testGutschrift5.
@Test
public void testGutschrift5() throws IOException {
ComdirectPDFExtractor extractor = new ComdirectPDFExtractor(new Client());
List<Exception> errors = new ArrayList<>();
List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "comdirectGutschrift5.txt"), errors);
assertThat(errors, empty());
assertThat(results.size(), is(2));
// security
Optional<Item> item = results.stream().filter(i -> i instanceof SecurityItem).findFirst();
assertThat(item.isPresent(), is(true));
Security security = ((SecurityItem) item.get()).getSecurity();
assertThat(security.getIsin(), is("US0378331005"));
assertThat(security.getName(), is("A p pl e I nc ."));
assertThat(security.getWkn(), is("865985"));
item = results.stream().filter(i -> i instanceof TransactionItem).findFirst();
assertThat(item.isPresent(), is(true));
assertThat(item.get().getSubject(), instanceOf(AccountTransaction.class));
AccountTransaction transaction = (AccountTransaction) item.get().getSubject();
assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS));
assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2017-11-20T00:00")));
assertThat(transaction.getSecurity(), is(security));
assertThat(transaction.getAmount(), is(Values.Amount.factorize(4.5)));
assertThat(transaction.getShares(), is(Values.Share.factorize(9.914)));
}
use of name.abuchen.portfolio.datatransfer.pdf.ComdirectPDFExtractor in project portfolio by buchen.
the class ComdirectPDFExtractorTest method testDividende1.
@Test
public void testDividende1() throws IOException {
ComdirectPDFExtractor extractor = new ComdirectPDFExtractor(new Client());
List<Exception> errors = new ArrayList<Exception>();
List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "comdirectDividende1.txt"), errors);
assertThat(errors, empty());
assertThat(results.size(), is(2));
// security
Optional<Item> item = results.stream().filter(i -> i instanceof SecurityItem).findFirst();
assertThat(item.isPresent(), is(true));
Security security = ((SecurityItem) item.get()).getSecurity();
assertThat(security.getIsin(), is("NL0000009355"));
assertThat(security.getName(), is("U n il e ve r N . V ."));
assertThat(security.getWkn(), is("A0JMZB"));
item = results.stream().filter(i -> i instanceof TransactionItem).findFirst();
assertThat(item.isPresent(), is(true));
assertThat(item.get().getSubject(), instanceOf(AccountTransaction.class));
AccountTransaction transaction = (AccountTransaction) item.get().getSubject();
assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS));
assertThat(transaction.getSecurity(), is(security));
assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2010-12-15T00:00")));
assertThat(transaction.getAmount(), is(Values.Amount.factorize(335.92)));
assertThat(transaction.getShares(), is(Values.Share.factorize(1900)));
assertThat(transaction.getUnitSum(Unit.Type.TAX).getAmount(), is(Values.Amount.factorize(59.28)));
}
use of name.abuchen.portfolio.datatransfer.pdf.ComdirectPDFExtractor in project portfolio by buchen.
the class ComdirectPDFExtractorTest method testWertpapierKauf5.
@Test
public void testWertpapierKauf5() throws IOException {
ComdirectPDFExtractor extractor = new ComdirectPDFExtractor(new Client());
List<Exception> errors = new ArrayList<Exception>();
List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "comdirectWertpapierabrechnung_Kauf5.txt"), errors);
assertThat(errors, empty());
assertThat(results.size(), is(2));
Optional<Item> item;
// security
item = results.stream().filter(i -> i instanceof SecurityItem).findFirst();
assertThat(item.isPresent(), is(true));
Security security = ((SecurityItem) item.get()).getSecurity();
assertThat(security.getName(), is("Boeing Co."));
assertThat(security.getIsin(), is("US0970231058"));
assertThat(security.getWkn(), is("850471"));
item = results.stream().filter(i -> i instanceof BuySellEntryItem).findFirst();
assertThat(item.isPresent(), is(true));
assertThat(item.get().getSubject(), instanceOf(BuySellEntry.class));
BuySellEntry entry = (BuySellEntry) item.get().getSubject();
assertThat(entry.getPortfolioTransaction().getType(), is(PortfolioTransaction.Type.BUY));
assertThat(entry.getAccountTransaction().getType(), is(AccountTransaction.Type.BUY));
assertThat(entry.getPortfolioTransaction().getAmount(), is(Values.Amount.factorize(19359.18)));
assertThat(entry.getPortfolioTransaction().getDateTime(), is(LocalDateTime.parse("2016-07-18T00:00")));
assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(55.66))));
assertThat(entry.getPortfolioTransaction().getShares(), is(Values.Share.factorize(160)));
}
Aggregations