use of name.abuchen.portfolio.datatransfer.pdf.ConsorsbankPDFExtractor in project portfolio by buchen.
the class ConsorsbankPDFExtractorTest method testErtragsgutschrift9.
@Test
public void testErtragsgutschrift9() throws IOException {
ConsorsbankPDFExtractor extractor = new ConsorsbankPDFExtractor(new Client());
List<Exception> errors = new ArrayList<Exception>();
List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "ConsorsbankErtragsgutschrift9.txt"), 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("A1409D"));
assertThat(security.getName(), is("Welltower 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-05-20T00:00")));
assertThat(t.getShares(), is(Values.Share.factorize(50)));
assertThat(t.getMonetaryAmount(), is(Money.of("EUR", 32_51)));
assertThat(t.getGrossValue(), is(Money.of("EUR", 38_25)));
// check tax
assertThat(t.getUnitSum(Type.TAX), is(Money.of("EUR", 5_74)));
checkCurrency(CurrencyUnit.EUR, t);
}
use of name.abuchen.portfolio.datatransfer.pdf.ConsorsbankPDFExtractor in project portfolio by buchen.
the class ConsorsbankPDFExtractorTest method testWertpapierVerkauf1.
@Test
public void testWertpapierVerkauf1() throws IOException {
ConsorsbankPDFExtractor extractor = new ConsorsbankPDFExtractor(new Client());
List<Exception> errors = new ArrayList<Exception>();
List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "ConsorsbankVerkauf1.txt"), 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("A0DPR2"));
assertThat(security.getName(), is("VOLKSWAGEN AG VZ ADR1/5"));
new AssertImportActions().check(results, CurrencyUnit.EUR);
// check buy sell transaction
Item item = results.get(0);
BuySellEntry entry = (BuySellEntry) item.getSubject();
PortfolioTransaction t = entry.getPortfolioTransaction();
assertThat(t.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, 5794_56L)));
assertThat(t.getUnitSum(Type.FEE), is(Money.of(CurrencyUnit.EUR, 26_65L)));
assertThat(t.getUnitSum(Type.TAX), is(Money.of(CurrencyUnit.EUR, 226_79L)));
assertThat(t.getDateTime(), is(LocalDateTime.of(2015, 2, 18, 12, 10, 30)));
assertThat(t.getShares(), is(Values.Share.factorize(140)));
assertThat(t.getGrossPricePerShare(), is(Quote.of(CurrencyUnit.EUR, Values.Quote.factorize(43.2))));
}
use of name.abuchen.portfolio.datatransfer.pdf.ConsorsbankPDFExtractor in project portfolio by buchen.
the class ConsorsbankPDFExtractorTest method testWertpapierKauf3.
@Test
public void testWertpapierKauf3() throws IOException {
ConsorsbankPDFExtractor extractor = new ConsorsbankPDFExtractor(new Client());
List<Exception> errors = new ArrayList<Exception>();
List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "ConsorsbankKauf3.txt"), errors);
assertThat(errors, empty());
assertThat(results.size(), is(2));
new AssertImportActions().check(results, CurrencyUnit.EUR);
// check security
Optional<Item> secItem = results.stream().filter(i -> i instanceof SecurityItem).findFirst();
assertThat(secItem.isPresent(), is(true));
Security security = ((SecurityItem) secItem.get()).getSecurity();
assertThat(security.getIsin(), is("DE000A0J3UF6"));
assertThat(security.getWkn(), is("A0J3UF"));
assertThat(security.getName(), is("EARTH EXPLORAT.FDS UI EOR"));
assertThat(security.getCurrencyCode(), is(CurrencyUnit.EUR));
// check buy sell transaction
Optional<Item> 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().getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, 25_00L)));
assertThat(entry.getPortfolioTransaction().getDateTime(), is(LocalDateTime.of(2017, 10, 16, 15, 24, 22)));
assertThat(entry.getPortfolioTransaction().getShares(), is(Values.Share.factorize(0.95126)));
assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), is(Money.of(CurrencyUnit.EUR, 61L)));
assertThat(entry.getPortfolioTransaction().getGrossPricePerShare(), is(Quote.of(CurrencyUnit.EUR, Values.Quote.factorize(25.6397))));
}
use of name.abuchen.portfolio.datatransfer.pdf.ConsorsbankPDFExtractor in project portfolio by buchen.
the class ConsorsbankPDFExtractorTest method testErtragsgutschrift8WithExistingSecurity.
@Test
public void testErtragsgutschrift8WithExistingSecurity() throws IOException {
Client client = new Client();
ConsorsbankPDFExtractor extractor = new ConsorsbankPDFExtractor(client);
Security existingSecurity = new Security("ROCHE HOLDING AG", CurrencyUnit.EUR);
existingSecurity.setWkn("891106");
client.addSecurity(existingSecurity);
List<Exception> errors = new ArrayList<Exception>();
List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "ConsorsbankErtragsgutschrift8.txt"), errors);
assertThat(errors, empty());
assertThat(results.size(), is(1));
// 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.getSecurity(), is(existingSecurity));
assertThat(t.getDateTime(), is(LocalDateTime.parse("2014-04-22T00:00")));
assertThat(t.getShares(), is(Values.Share.factorize(80)));
assertThat(t.getMonetaryAmount(), is(Money.of("EUR", 33_51)));
assertThat(t.getGrossValue(), is(Money.of("EUR", 64_08)));
// check tax
assertThat(t.getUnitSum(Type.TAX), is(Money.of("EUR", 30_57)));
checkCurrency(CurrencyUnit.EUR, t);
}
use of name.abuchen.portfolio.datatransfer.pdf.ConsorsbankPDFExtractor in project portfolio by buchen.
the class ImportExtractedItemsWizard method addDefaultExtractors.
private void addDefaultExtractors() throws IOException {
extractors.add(new BaaderBankPDFExtractor(client));
extractors.add(new BankSLMPDFExtractor(client));
extractors.add(new ComdirectPDFExtractor(client));
extractors.add(new CommerzbankPDFExtractor(client));
extractors.add(new ConsorsbankPDFExtractor(client));
extractors.add(new DABPDFExtractor(client));
extractors.add(new DegiroPDFExtractor(client));
extractors.add(new DeutscheBankPDFExtractor(client));
extractors.add(new DkbPDFExtractor(client));
extractors.add(new FinTechGroupBankPDFExtractor(client));
extractors.add(new INGDiBaExtractor(client));
extractors.add(new OnvistaPDFExtractor(client));
extractors.add(new SBrokerPDFExtractor(client));
extractors.add(new UnicreditPDFExtractor(client));
extractors.add(new HelloBankPDFExtractor(client));
Collections.sort(extractors, (r, l) -> r.getLabel().compareToIgnoreCase(l.getLabel()));
}
Aggregations