use of name.abuchen.portfolio.datatransfer.pdf.ComdirectPDFExtractor in project portfolio by buchen.
the class ComdirectPDFExtractorTest method testWertpapierVerkauf2.
@Test
public void testWertpapierVerkauf2() throws IOException {
ComdirectPDFExtractor extractor = new ComdirectPDFExtractor(new Client());
List<Exception> errors = new ArrayList<Exception>();
List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "comdirectWertpapierabrechnung_Verkauf2.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.SELL));
assertThat(entry.getAccountTransaction().getType(), is(AccountTransaction.Type.SELL));
assertThat(entry.getPortfolioTransaction().getAmount(), is(Values.Amount.factorize(20413.33)));
assertThat(entry.getPortfolioTransaction().getDateTime(), is(LocalDateTime.parse("2016-12-08T00:00")));
assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(56.07))));
assertThat(entry.getPortfolioTransaction().getShares(), is(Values.Share.factorize(1140)));
}
use of name.abuchen.portfolio.datatransfer.pdf.ComdirectPDFExtractor in project portfolio by buchen.
the class ComdirectPDFExtractorTest method testWertpapierVerkauf3.
@Test
public void testWertpapierVerkauf3() throws IOException {
ComdirectPDFExtractor extractor = new ComdirectPDFExtractor(new Client());
List<Exception> errors = new ArrayList<Exception>();
List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "comdirectWertpapierabrechnung_Verkauf3.txt"), errors);
assertThat(errors, empty());
assertThat(results.size(), is(3));
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("ITC Holdings Corp."));
assertThat(security.getIsin(), is("US4656851056"));
assertThat(security.getWkn(), is("A0F401"));
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.SELL));
assertThat(entry.getAccountTransaction().getType(), is(AccountTransaction.Type.SELL));
assertThat(entry.getPortfolioTransaction().getAmount(), is(Values.Amount.factorize(21239.83)));
assertThat(entry.getPortfolioTransaction().getDateTime(), is(LocalDateTime.parse("2016-02-25T00:00")));
assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(66.47))));
assertThat(entry.getPortfolioTransaction().getShares(), is(Values.Share.factorize(570)));
// tax refund
AccountTransaction t = (AccountTransaction) results.stream().filter(i -> i instanceof TransactionItem).findFirst().get().getSubject();
assertThat(t.getSecurity(), is(security));
assertThat(t.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(71.73))));
}
use of name.abuchen.portfolio.datatransfer.pdf.ComdirectPDFExtractor in project portfolio by buchen.
the class ComdirectPDFExtractorTest method testDividende3.
@Test
public void testDividende3() throws IOException {
ComdirectPDFExtractor extractor = new ComdirectPDFExtractor(new Client());
List<Exception> errors = new ArrayList<Exception>();
List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "comdirectDividende3.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("US1266501006"));
assertThat(security.getName(), is("C V S He a lt h C or p ."));
assertThat(security.getWkn(), is("859034"));
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-07T00:00")));
assertThat(transaction.getSecurity(), is(security));
assertThat(transaction.getAmount(), is(Values.Amount.factorize(11.65)));
assertThat(transaction.getShares(), is(Values.Share.factorize(32)));
}
use of name.abuchen.portfolio.datatransfer.pdf.ComdirectPDFExtractor in project portfolio by buchen.
the class ComdirectPDFExtractorTest method testWertpapierVerkauf.
@Test
public void testWertpapierVerkauf() throws IOException {
ComdirectPDFExtractor extractor = new ComdirectPDFExtractor(new Client());
List<Exception> errors = new ArrayList<Exception>();
List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "comdirectWertpapierabrechnung_Verkauf.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("FooBar. ETF"));
assertThat(security.getIsin(), is("DE1234567890"));
assertThat(security.getWkn(), is("ABC123"));
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.SELL));
assertThat(entry.getAccountTransaction().getType(), is(AccountTransaction.Type.SELL));
// expected total is total amount minux taxes
long expectedTotal = Values.Amount.factorize(10111.11 - 11.11);
assertThat(entry.getPortfolioTransaction().getAmount(), is(expectedTotal));
assertThat(entry.getPortfolioTransaction().getDateTime(), is(LocalDateTime.parse("2010-01-01T00:00")));
assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(11.51))));
assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.TAX), is(Money.of("EUR", Values.Amount.factorize(11.11))));
assertThat(entry.getPortfolioTransaction().getShares(), is(Values.Share.factorize(100)));
}
use of name.abuchen.portfolio.datatransfer.pdf.ComdirectPDFExtractor in project portfolio by buchen.
the class ComdirectPDFExtractorTest method testWertpapierKauf6.
@Test
public void testWertpapierKauf6() throws IOException {
ComdirectPDFExtractor extractor = new ComdirectPDFExtractor(new Client());
List<Exception> errors = new ArrayList<Exception>();
List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "comdirectWertpapierabrechnung_Kauf6.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("BayWa AG"));
assertThat(security.getIsin(), is("DE0005194062"));
assertThat(security.getWkn(), is("519406"));
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(16312.80)));
assertThat(entry.getPortfolioTransaction().getDateTime(), is(LocalDateTime.parse("2013-03-14T00:00")));
assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(47.66))));
assertThat(entry.getPortfolioTransaction().getShares(), is(Values.Share.factorize(1437)));
}
Aggregations