Skip to content

Commit

Permalink
Formatting Consorbank PDF-Importer to standard eclipse formatting
Browse files Browse the repository at this point in the history
Formatting Consorbank PDF-Importer to standard eclipse formatting
Add test case
Closes #3665
  • Loading branch information
Nirus2000 authored and buchen committed Dec 23, 2023
1 parent 23a6492 commit 4d36d48
Show file tree
Hide file tree
Showing 3 changed files with 1,203 additions and 1,150 deletions.
Original file line number Diff line number Diff line change
@@ -1,14 +1,5 @@
package name.abuchen.portfolio.datatransfer.pdf.consorsbank;

import static name.abuchen.portfolio.datatransfer.ExtractorTestUtilities.countAccountTransactions;
import static name.abuchen.portfolio.datatransfer.ExtractorTestUtilities.countBuySell;
import static name.abuchen.portfolio.datatransfer.ExtractorTestUtilities.countSecurities;
import static org.hamcrest.CoreMatchers.hasItem;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.collection.IsEmptyCollection.empty;
import static org.junit.Assert.assertNull;

import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.check;
import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.dividend;
import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasAmount;
Expand All @@ -28,6 +19,14 @@
import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.purchase;
import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.sale;
import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.security;
import static name.abuchen.portfolio.datatransfer.ExtractorTestUtilities.countAccountTransactions;
import static name.abuchen.portfolio.datatransfer.ExtractorTestUtilities.countBuySell;
import static name.abuchen.portfolio.datatransfer.ExtractorTestUtilities.countSecurities;
import static org.hamcrest.CoreMatchers.hasItem;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.collection.IsEmptyCollection.empty;
import static org.junit.Assert.assertNull;

import java.time.LocalDateTime;
import java.util.ArrayList;
Expand Down Expand Up @@ -1405,11 +1404,43 @@ public void testWertpapierKauf24()
// check buy sell transaction
assertThat(results, hasItem(purchase( //
hasDate("2023-08-17T08:10:59"), hasShares(7.00), //
hasSource("Kauf24.txt"), hasNote("5421561.010 | Limitkurs 143,000000 EUR"), //
hasSource("Kauf24.txt"), //
hasNote("5421561.010 | Limitkurs 143,000000 EUR"), //
hasAmount("EUR", 1003.95), hasGrossValue("EUR", 1001.00), //
hasTaxes("EUR", 2.00), hasFees("EUR", 0.95))));
}

@Test
public void testWertpapierKauf25()
{
ConsorsbankPDFExtractor extractor = new ConsorsbankPDFExtractor(new Client());

List<Exception> errors = new ArrayList<>();

List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Kauf25.txt"), errors);

assertThat(errors, empty());
assertThat(countSecurities(results), is(1L));
assertThat(countBuySell(results), is(1L));
assertThat(countAccountTransactions(results), is(0L));
assertThat(results.size(), is(2));
new AssertImportActions().check(results, CurrencyUnit.EUR);

// check security
assertThat(results, hasItem(security( //
hasIsin("IE0032077012"), hasWkn("801498"), hasTicker(null), //
hasName("INVESCOM3 NASDAQ-100 A"), //
hasCurrencyCode("EUR"))));

// check buy sell transaction
assertThat(results, hasItem(purchase( //
hasDate("2023-11-01T09:32:16"), hasShares(0.60087), //
hasSource("Kauf25.txt"), //
hasNote("123456789.111"), //
hasAmount("EUR", 200.00), hasGrossValue("EUR", 200.00), //
hasTaxes("EUR", 0.00), hasFees("EUR", 0.00))));
}

@Test
public void testWertpapierBezug01()
{
Expand Down Expand Up @@ -2007,7 +2038,8 @@ public void testWertpapierVerkauf13()
// check buy sell transaction
assertThat(results, hasItem(sale( //
hasDate("2023-07-21T09:06:26"), hasShares(32.00), //
hasSource("Verkauf13.txt"), hasNote("266964025.001 | Limitkurs stop loss 106,600000 EUR"), //
hasSource("Verkauf13.txt"), //
hasNote("266964025.001 | Limitkurs stop loss 106,600000 EUR"), //
hasAmount("EUR", 3357.87), hasGrossValue("EUR", 3372.80), //
hasTaxes("EUR", 0.00), hasFees("EUR", 1.95 + 0.60 + 8.43 + 3.95))));
}
Expand Down Expand Up @@ -3444,7 +3476,8 @@ public void testDividende18()
// check dividende transaction
assertThat(results, hasItem(dividend( //
hasDate("2017-10-13T00:00"), hasShares(27.47377), //
hasSource("Dividende18.txt"), hasNote(null), //
hasSource("Dividende18.txt"), //
hasNote(null), //
hasAmount("EUR", 1.29), hasGrossValue("EUR", 1.92), //
hasTaxes("EUR", 0.30 + 0.01 + 0.29 + 0.02 + 0.01), hasFees("EUR", 0.00))));
}
Expand Down Expand Up @@ -3474,8 +3507,10 @@ public void testDividende19()
// check dividende transaction
assertThat(results, hasItem(dividend( //
hasDate("2018-09-28T00:00"), hasShares(1000.00), //
hasSource("Dividende19.txt"), hasNote(null), //
hasAmount("EUR", 44.78), hasGrossValue("EUR", 60.15), hasForexGrossValue("USD", 70.00), //
hasSource("Dividende19.txt"), //
hasNote(null), //
hasAmount("EUR", 44.78), hasGrossValue("EUR", 60.15), //
hasForexGrossValue("USD", 70.00), //
hasTaxes("EUR", 9.02 + 6.02 + 0.33), hasFees("EUR", 0.00))));
}

Expand Down Expand Up @@ -3505,7 +3540,8 @@ public void testDividende19WithSecurityInEUR()
// check dividends transaction
assertThat(results, hasItem(dividend( //
hasDate("2018-09-28T00:00"), hasShares(1000.00), //
hasSource("Dividende19.txt"), hasNote(null), //
hasSource("Dividende19.txt"), //
hasNote(null), //
hasAmount("EUR", 44.78), hasGrossValue("EUR", 60.15), //
hasTaxes("EUR", 9.02 + 6.02 + 0.33), hasFees("EUR", 0.00), //
check(tx -> {
Expand Down Expand Up @@ -3542,7 +3578,8 @@ public void testDividende20()
// check dividende transaction
assertThat(results, hasItem(dividend( //
hasDate("2019-05-13T00:00"), hasShares(80.00), //
hasSource("Dividende20.txt"), hasNote(null), //
hasSource("Dividende20.txt"), //
hasNote(null), //
hasAmount("EUR", 518.44), hasGrossValue("EUR", 720.00), //
hasTaxes("EUR", 176.04 + 9.68 + 15.84), hasFees("EUR", 0.00))));
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
PDFBox Version: 1.8.17
Portfolio Performance Version: 0.65.6
-----------------------------------------
Consorsbank • 90318 Nürnberg
Depotnummer: 1234 567 899
1234567899/00
Vermerk der Bank: 2000
2
Abcdef Ghijklm
Strstrstrstr. 7
01099 Dresden Datum: 01.11.2023Seite: 1 von 1
Ordernummer 123456789.111
Orderdatum 01.11.2023
ORDERABRECHNUNG
KAUF AM 01.11.2023 UM 09:32:16 SPARPLAN NR. 123456789.111
Bezeichnung WKN ISIN
INVESCOM3 NASDAQ-100 A 801498 IE0032077012
Einheit Umsatz
ST 0,60087
Preis pro Anteil 332,850000 EUR NETTO
Kurswert 200,00 EUR
zulasten Konto-Nr. 1234567890 200,00 EUR
Valuta 03.11.2023
Bestand zugunsten Wertpapierrechnung Großbritannien
CBL 62126
Die Order wurde an folgender Börse gehandelt: SPARPLAN TRADEGATE
Sparplanname: SPNAME NN
Beratungsfreies Geschäft
Hinweis für Orderabrechnungen und Depotbuchungsanzeigen:
Einwendungen wegen Unrichtigkeit oder Unvollständigkeit dieser Mitteilung müssen unverzüglich erhoben werden, vgl. Nummer B. Ziffer I. 11 (4) und (5) der
Allgemeinen Geschäftsbedingungen (AGB Banken).
Machen Sie Ihre Einwendungen in Textform geltend, genügt die Absendung innerhalb der Sechs-Wochen-Frist an die Consorsbank oder per Fax oder Mail an die
unten angegebenen Adressen. Das Unterlassen rechtzeitiger Einwendungen gilt als Genehmigung.
Consorsbank ist eine eingetragene Marke der BNP Paribas S.A. Niederlassung Deutschland (AG nach franz. Recht).
Standort Nürnberg: Bahnhofstraße 55, 90402 Nürnberg, HRB Nürnberg 31129, USt-IdNr. DE191528929
Fon +49 (0) 911 / 369-30 00, Fax +49 (0) 911 / 369-10 00, [email protected], www.consorsbank.de
Sitz der BNP Paribas S.A.: 16, boulevard des Italiens, 75009 Paris, Frankreich, Registergericht: R.C.S. Paris 662 042 449
Président du Conseil d‘Administration (Präsident des Verwaltungsrates): Jean Lemierre, Directeur Général (Generaldirektor): Jean-Laurent Bonnafé
Loading

0 comments on commit 4d36d48

Please sign in to comment.