From aaa574ae9629103d0808cd3b0c53acef79c38a1e Mon Sep 17 00:00:00 2001 From: aanno Date: Sat, 7 Feb 2026 13:00:54 +0100 Subject: [PATCH] PR: Allow negative values (on CSV import, and in UI) squashed from aanno/negative b12cb5cc90e9 --- .gitignore | 1 + name.abuchen.portfolio.tests/.classpath | 11 +- .../META-INF/MANIFEST.MF | 3 +- name.abuchen.portfolio.tests/pom.xml | 15 + .../ReadingHistoricClientFilesTest.java | 14 +- .../fileversions/XStreamReferencesTest.java | 15 +- .../events/SecurityEventSourceMovedTest.java | 12 +- .../Issue1498FifoCrossPortfolioTest.java | 7 +- ...eredClientIfSecurityIsTransferredTest.java | 5 +- ...earWithSecurityInMultipleAccountsTest.java | 6 +- ...1897AddFeesToDividendTransactionsTest.java | 4 +- ...898TradeIRRwithPortfolioTransfersTest.java | 5 +- ...FIFOCalculationOfSecurityPositionTest.java | 5 +- ...ssue371PurchaseValueWithTransfersTest.java | 5 +- .../Issue4446FIFOMultipleTransfers.java | 7 +- ...pitalGainsIfSecurityIsTransferredTest.java | 5 +- .../IssueCurrencyGainsRoundingErrorTest.java | 5 +- ...eFixGrossValueUnitInClientFactoryTest.java | 5 +- ...ssueMigrationOfClassificationKeysTest.java | 5 +- .../IssueUmarshallingArraysArrayListTest.java | 5 +- ...torUtilsConvertToNumberBigDecimalTest.java | 9 +- ...ExtractorUtilsConvertToNumberLongTest.java | 9 +- .../CSVAccountTransactionExtractorTest.java | 27 +- .../CSVPortfolioTransactionExtractorTest.java | 15 +- .../csv/CSVSecurityExtractorTest.java | 6 +- .../csv/CSVSecurityPriceExtractorTest.java | 6 +- .../ibflex/IBFlexStatementExtractorTest.java | 32 +- .../ABNAMROGroupPDFExtractorTest.java | 3 + .../AdvanziaBankPDFExtractorTest.java | 4 + ...BellSecuritiesLimitedPDFExtractorTest.java | 8 + .../pdf/akfbank/AkfBankPDFExtractorTest.java | 4 + .../AlpacCapitalPDFExtractorTest.java | 5 + .../pdf/apobank/ApoBankPDFExtractorTest.java | 4 + .../ArkeaDirectBankPDFExtractorTest.java | 21 + .../audibank/AudiBankPDFExtractorTest.java | 4 + .../AustrianAnadiBankPDFExtractorTest.java | 4 + .../avivaplc/AvivaPLCPDFExtractorTest.java | 7 + .../BaaderBankPDFExtractorTest.java | 170 ++++++++ ...lbaoVizcayaArgentariaPDFExtractorTest.java | 5 + .../pdf/bank11/Bank11PDFExtractorTest.java | 4 + .../pdf/bankslm/BankSLMPDFExtractorTest.java | 12 + ...arclaysBankIrelandPLCPDFExtractorTest.java | 4 + ...haftlicheKantonalbankPDFExtractorTest.java | 7 + .../pdf/bawagag/BawagAgPDFExtractorTest.java | 4 + .../pdf/bigbank/BigbankPDFExtractorTest.java | 6 + .../pdf/bison/BisonPDFExtractorTest.java | 4 + .../BondoraCapitalPDFExtractorTest.java | 20 + .../BourseDirectPDFExtractorTest.java | 11 + .../BoursoBankPDFExtractorTest.java | 18 + .../pdf/bsdex/BSDEXPDFExtractorTest.java | 11 + .../C24BankGmbHPDFExtractorTest.java | 4 + .../CetesDirectoPDFExtractorTest.java | 4 + .../comdirect/ComdirectPDFExtractorTest.java | 5 + .../CommerzbankPDFExtractorTest.java | 5 + .../pdf/commsec/CommSecPDFExtractorTest.java | 6 + .../ComputershareExtractorTest.java | 3 + .../ConsorsbankPDFExtractorTest.java | 5 + ...utuelAllianceFederalePDFExtractorTest.java | 4 + .../CreditSuisseAGExtractorTest.java | 9 + .../CrowdestorPDFExtractorTest.java | 4 + .../pdf/dab/DABPDFExtractorTest.java | 5 + .../DADATBankenhausPDFExtractorTest.java | 5 + .../DebitumPDFExtractorTest.java | 4 + .../pdf/degiro/DegiroPDFExtractorTest.java | 382 ++++++++---------- .../dekabank/DekaBankPDFExtractorTest.java | 5 + .../DeutscheBankPDFExtractorTest.java | 5 + .../DirectaSimPDFExtractorTest.java | 5 + .../Direkt1822BankPDFExtractorTest.java | 5 + .../pdf/dkb/DkbPDFExtractorTest.java | 5 + .../DreiBankenEDVPDFExtractorTest.java | 5 + .../DZBankGruppePDFExtractorTest.java | 5 + .../EasyBankAGPDFExtractorTest.java | 5 + .../pdf/ebase/EbasePDFExtractorTest.java | 5 + .../erstebank/ErsteBankPDFExtractorTest.java | 70 ++++ .../EstateGuruPDFExtractorTest.java | 10 + .../pdf/etrade/ETradePDFExtractorTest.java | 4 + ...FidelityInternationalPDFExtractorTest.java | 8 + .../FILFondbankPDFExtractorTest.java | 5 + .../FindependentAGPDFExtractorTest.java | 29 ++ .../FinTechGroupBankPDFExtractorTest.java | 160 ++++++++ ...irstradeSecuritiesIncPDFExtractorTest.java | 6 + .../fordmoney/FordMoneyPDFExtractorTest.java | 4 + .../GenoBrokerPDFExtractorTest.java | 5 + .../pdf/ginmon/GinmonPDFExtractorTest.java | 4 + .../GladbacherBankAGPDFExtractorTest.java | 5 + .../HargreavesLansdownPlcTest.java | 7 + .../hellobank/HelloBankPDFExtractorTest.java | 5 + ...othekarbankLenzburgAGPDFExtractorTest.java | 38 ++ .../pdf/ingdiba/INGDiBaPDFExtractorTest.java | 5 + .../JTDirektbankPDFExtractorTest.java | 4 + .../KBCGroupNVPDFExtractorTest.java | 5 + .../KeytradeBankPDFExtractorTest.java | 29 ++ .../kfintech/KFintechPDFExtractorTest.java | 6 + .../pdf/lgtbank/LGTBankPDFExtractorTest.java | 16 + ...teinischeLandesbankAGPDFExtractorTest.java | 19 + .../LimeTradingCorpPDFExtractorTest.java | 5 + .../MeDirectBankPlcPDFExtractorTest.java | 5 + .../MerkurPrivatBankPDFExtractorTest.java | 5 + .../mlpbank/MLPBankingAGPDFExtractorTest.java | 5 + .../ModenaEstoniaPDFExtractorTest.java | 6 + .../n26bankag/N26BankAGPDFExtractorTest.java | 4 + .../nibcbank/NIBCBankPDFExtractorTest.java | 5 + .../NordaxBankABPDFExtractorTest.java | 4 + ...orddeutscheLandesbankPDFExtractorTest.java | 5 + ...burgischeLandesbankAGPDFExtractorTest.java | 5 + .../pdf/onvista/OnvistaPDFExtractorTest.java | 5 + .../OpenBankSAPDFExtractorTest.java | 4 + .../OrangeBankPDFExtractorTest.java | 4 + .../PictetCieGruppeSAPDFExtractorTest.java | 9 + .../postbank/PostbankPDFExtractorTest.java | 5 + .../PostfinancePDFExtractorTest.java | 39 ++ .../QuestradeGroupPDFExtractorTest.java | 13 + .../QuirinPrivatbankAGPDFExtractorTest.java | 5 + .../RaiffeisenbankgruppePDFExtractorTest.java | 52 +++ .../RaisinBankAGPDFExtractorTest.java | 5 + .../RenaultBankDirektPDFExtractorTest.java | 5 + .../RevolutLtdPDFExtractorTest.java | 5 + ...SantanderConsumerBankPDFExtractorTest.java | 5 + .../saxobank/SaxoBankPDFExtractorTest.java | 36 ++ .../SberbankEuropeAGPDFExtractorTest.java | 4 + .../pdf/sbroker/SBrokerPDFExtractorTest.java | 5 + .../ScalableCapitalPDFExtractorTest.java | 66 +++ ...elhammerCapitalBankAGPDFExtractorTest.java | 4 + .../ScorePriorityIncPDFExtractorTest.java | 9 + .../SelfWealthPDFExtractorTest.java | 9 + .../pdf/simpel/SimpelPDFExtractorTest.java | 7 + .../SolarisbankAGPDFExtractorTest.java | 8 + .../StakeshopPtyLtdPDFExtractorTest.java | 8 + .../pdf/sunrise/SunrisePDFExtractorTest.java | 9 + .../SuresseDirektBankPDFExtractorTest.java | 4 + .../SutorBankGmbHPDFExtractorTest.java | 4 + .../SwissquotePDFExtractorTest.java | 60 +++ .../sydbankas/SydbankASPDFExtractorTest.java | 4 + .../targobank/TargobankPDFExtractorTest.java | 5 + .../TigerBrokersPteLtdPDFExtractorTest.java | 14 + .../TradegateAGPDFExtractorTest.java | 5 + .../TradeRepublicPDFExtractorTest.java | 292 +++++++++++++ .../pdf/ubsag/UBSAGPDFExtractorTest.java | 22 + .../UmweltbankAGPDFExtractorTest.java | 5 + .../unicredit/UnicreditPDFExtractorTest.java | 12 + .../VanguardGroupEuropePDFExtractorTest.java | 10 + .../pdf/vbankag/VBankAGPDFExtractorTest.java | 9 + .../vdkbanknv/VDKBankNVPDFExtractorTest.java | 9 + .../VolkswagenBankPDFExtractorTest.java | 4 + ...VZVermoegenszentrumAGPDFExtractorTest.java | 7 + ...hsimpleInvestmentsIncPDFExtractorTest.java | 9 +- .../weberbank/WeberbankPDFExtractorTest.java | 7 + .../pdf/wirbank/WirBankPDFExtractorTest.java | 64 +++ .../WitheBoxGmbHPDFExtractorTest.java | 6 + .../ZuercherKantonalbankPDFExtractorTest.java | 22 + .../portfolio/model/ClientTestUtilities.java | 5 +- .../model/ProtobufWriterAdditionalTest.java | 8 +- .../portfolio/model/ProtobufWriterTest.java | 8 +- .../impl/ExchangeRateProviderILATest.java | 5 +- .../online/impl/GenericJSONQuoteFeedTest.java | 1 - .../snapshot/trades/TradeCollector2Test.java | 6 +- .../snapshot/trades/TradeCollector4Test.java | 5 +- .../snapshot/trades/TradeCollector5Test.java | 5 +- .../snapshot/trades/TradeCollectorTest.java | 5 +- .../AccountPerformanceTaxRefundTestCase.java | 6 +- .../src/scenarios/ClassificationTestCase.java | 5 +- .../ClientPerformanceSnapshotTestCase.java | 6 +- .../src/scenarios/CurrencyTestCase.java | 4 +- .../SecurityPerformanceTaxRefundTestCase.java | 9 +- ...yTaxAndFeeAccountTransactionsTestCase.java | 5 +- .../src/scenarios/SecurityTestCase.java | 4 +- .../src/scenarios/VolatilityTestCase.java | 5 +- name.abuchen.portfolio.ui.tests/.classpath | 11 +- .../META-INF/MANIFEST.MF | 4 + .../transactions/InvestmentPlanModelTest.java | 6 +- .../util/StringToCurrencyConverterTest.java | 18 +- ...ceIndicatorsWithPartialAssignmentTest.java | 4 +- name.abuchen.portfolio.ui/.classpath | 21 +- .../.settings/org.eclipse.jdt.core.prefs | 95 +++++ .../.settings/org.eclipse.jdt.ui.prefs | 3 +- .../META-INF/MANIFEST.MF | 2 +- name.abuchen.portfolio.ui/pom.xml | 12 +- .../ui/dialogs/SecurityPriceDialog.java | 8 +- .../TroubleshootBalanceDiscrepancyDialog.java | 10 +- .../AbstractSecurityTransactionModel.java | 13 +- .../AbstractTransactionDialog.java | 12 +- .../AccountTransactionDialog.java | 2 +- .../transactions/AccountTransactionModel.java | 22 +- .../transactions/AccountTransferDialog.java | 2 +- .../transactions/AccountTransferModel.java | 24 +- .../ui/dialogs/transactions/BuySellModel.java | 5 +- .../transactions/InvestmentPlanDialog.java | 2 +- .../transactions/InvestmentPlanModel.java | 13 +- .../transactions/SecurityDeliveryModel.java | 5 +- .../SecurityTransactionDialog.java | 4 +- .../ui/dnd/ImportFromFileDropAdapter.java | 3 +- .../ui/editor/AbstractFinanceView.java | 12 +- .../portfolio/ui/editor/ClientInput.java | 12 +- .../ui/editor/ClientInputFactory.java | 6 +- .../ui/editor/EditorActivationState.java | 30 +- .../portfolio/ui/editor/LoadClientThread.java | 9 +- .../portfolio/ui/editor/PortfolioPart.java | 12 +- .../ui/handlers/ImportCSVHandler.java | 13 +- .../ui/handlers/ImportIBHandler.java | 10 +- .../ui/handlers/ImportPDFHandler.java | 2 +- .../ui/handlers/OpenSampleHandler.java | 6 +- .../portfolio/ui/preferences/Experiments.java | 21 +- .../portfolio/ui/util/BindingHelper.java | 17 +- .../ui/util/viewers/ValueEditingSupport.java | 13 +- .../portfolio/ui/views/AccountListView.java | 9 +- .../ui/views/InvestmentPlanListView.java | 3 +- .../portfolio/ui/views/PortfolioListView.java | 5 +- .../portfolio/ui/views/QuotesContextMenu.java | 6 +- .../portfolio/ui/views/SecurityListView.java | 3 +- .../ui/views/TransactionsViewer.java | 17 +- .../views/currency/CurrencyConverterTab.java | 9 +- .../views/panes/AccountTransactionsPane.java | 6 +- .../HistoricalPricesDataQualityPane.java | 7 +- .../ui/views/panes/HistoricalPricesPane.java | 10 +- .../taxonomy/AbstractNodeTreeViewer.java | 6 +- .../ui/views/taxonomy/ReBalancingViewer.java | 2 +- .../datatransfer/CSVImportDefinitionPage.java | 1 + .../wizards/datatransfer/CSVImportWizard.java | 18 +- .../ImportExtractedItemsWizard.java | 14 + name.abuchen.portfolio/.classpath | 6 +- .../portfolio/datatransfer/Extractor.java | 5 + .../datatransfer/ExtractorUtils.java | 13 +- .../datatransfer/csv/BaseCSVExtractor.java | 8 +- .../csv/CSVAccountTransactionExtractor.java | 23 +- .../datatransfer/csv/CSVExtractor.java | 21 +- .../datatransfer/csv/CSVImporter.java | 17 +- .../csv/CSVPortfolioExtractor.java | 2 +- .../csv/CSVPortfolioTransactionExtractor.java | 16 +- .../csv/CSVSecurityPriceExtractor.java | 3 +- .../ibflex/IBFlexStatementExtractor.java | 18 +- .../AJBellSecuritiesLimitedPDFExtractor.java | 6 +- .../pdf/AbstractPDFExtractor.java | 19 +- .../pdf/AlpacCapitalPDFExtractor.java | 6 +- .../pdf/ArkeaDirectBankPDFExtractor.java | 4 +- .../pdf/AvivaPLCPDFExtractor.java | 4 +- .../datatransfer/pdf/BSDEXPDFExtractor.java | 4 +- .../pdf/BaaderBankPDFExtractor.java | 4 +- .../datatransfer/pdf/BankSLMPDFExtractor.java | 6 +- ...ndschaftlicheKantonalbankPDFExtractor.java | 4 +- .../datatransfer/pdf/BigbankPDFExtractor.java | 2 +- .../pdf/BourseDirectPDFExtractor.java | 4 +- .../pdf/BoursoBankPDFExtractor.java | 4 +- .../pdf/CetesDirectoPDFExtractor.java | 2 +- .../datatransfer/pdf/CommSecPDFExtractor.java | 6 +- .../pdf/ComputersharePDFExtractor.java | 4 +- ...ditMutuelAllianceFederalePDFExtractor.java | 4 +- .../pdf/CreditSuisseAGPDFExtractor.java | 6 +- .../pdf/CrowdestorPDFExtractor.java | 2 +- .../pdf/DebitumInvestmentsPDFExtractor.java | 2 +- .../datatransfer/pdf/DegiroPDFExtractor.java | 6 +- .../datatransfer/pdf/ETradePDFExtractor.java | 4 +- .../pdf/ErsteBankPDFExtractor.java | 6 +- .../pdf/EstateGuruPDFExtractor.java | 2 +- .../FidelityInternationalPDFExtractor.java | 4 +- .../pdf/FinTechGroupBankPDFExtractor.java | 4 +- .../pdf/FindependentAGPDFExtractor.java | 6 +- .../FirstradeSecuritiesIncPDFExtractor.java | 4 +- .../datatransfer/pdf/GinmonPDFExtractor.java | 2 +- .../pdf/HargreavesLansdownPlcExtractor.java | 4 +- .../HypothekarbankLenzburgAGPDFExtractor.java | 6 +- .../pdf/KFintechPDFExtractor.java | 4 +- .../pdf/KeytradeBankPDFExtractor.java | 6 +- .../datatransfer/pdf/LGTBankPDFExtractor.java | 6 +- ...tensteinischeLandesbankAGPDFExtractor.java | 6 +- .../pdf/LimeTradingCorpPDFExtractor.java | 6 +- .../pdf/MeDirectBankPlcPDFExtractor.java | 2 +- .../pdf/ModenaEstoniaPDFExtractor.java | 2 +- .../datatransfer/pdf/PDFImportAssistant.java | 8 +- .../pdf/PictetCieGruppeSAPDFExtractor.java | 6 +- .../pdf/PostfinancePDFExtractor.java | 6 +- .../pdf/QuestradeGroupPDFExtractor.java | 4 +- .../pdf/RaiffeisenBankgruppePDFExtractor.java | 4 +- .../pdf/RevolutLtdPDFExtractor.java | 4 +- .../pdf/SaxoBankPDFExtractor.java | 6 +- .../pdf/ScalableCapitalPDFExtractor.java | 4 +- .../pdf/ScorePriorityIncPDFExtractor.java | 6 +- .../pdf/SelfWealthPDFExtractor.java | 4 +- .../datatransfer/pdf/SimpelPDFExtractor.java | 4 +- .../pdf/SolarisbankAGPDFExtractor.java | 2 +- .../pdf/StakeshopPtyLtdPDFExtractor.java | 4 +- .../datatransfer/pdf/SunrisePDFExtractor.java | 6 +- .../pdf/SwissquotePDFExtractor.java | 6 +- .../pdf/TigerBrokersPteLtdPDFExtractor.java | 6 +- .../pdf/TradeRepublicPDFExtractor.java | 4 +- .../pdf/UBSAGBankingAGPDFExtractor.java | 6 +- .../pdf/UnicreditPDFExtractor.java | 2 +- .../VZVermoegenszentrumAGPDFExtractor.java | 6 +- ...ealthsimpleInvestmentsIncPDFExtractor.java | 6 +- .../datatransfer/pdf/WirBankPDFExtractor.java | 6 +- .../pdf/ZuercherKantonalbankPDFExtractor.java | 6 +- .../abuchen/portfolio/math/NegativeValue.java | 50 +++ .../portfolio/model/ClientFactory.java | 142 +++++-- .../portfolio/model/ProtobufWriter.java | 16 +- portfolio-app/.project | 9 + 294 files changed, 3189 insertions(+), 583 deletions(-) create mode 100644 name.abuchen.portfolio/src/name/abuchen/portfolio/math/NegativeValue.java diff --git a/.gitignore b/.gitignore index 3baf3373dd..e794278153 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ workspace .metadata/* .recommenders/* .DS_Store +.tycho-consumer-pom.xml ### IntelliJ IDEA ### .idea diff --git a/name.abuchen.portfolio.tests/.classpath b/name.abuchen.portfolio.tests/.classpath index 8c7d1afc29..384f9d295d 100644 --- a/name.abuchen.portfolio.tests/.classpath +++ b/name.abuchen.portfolio.tests/.classpath @@ -5,11 +5,20 @@ - + + + + + + + + + + diff --git a/name.abuchen.portfolio.tests/META-INF/MANIFEST.MF b/name.abuchen.portfolio.tests/META-INF/MANIFEST.MF index 1b18e33a2a..5b02cb15e5 100644 --- a/name.abuchen.portfolio.tests/META-INF/MANIFEST.MF +++ b/name.abuchen.portfolio.tests/META-INF/MANIFEST.MF @@ -22,4 +22,5 @@ Require-Bundle: org.junit, name.abuchen.portfolio.junit, org.mockito.mockito-core Automatic-Module-Name: name.abuchen.portfolio.tests -Import-Package: com.google.common.collect +Import-Package: com.google.common.collect, + name.abuchen.portfolio.model diff --git a/name.abuchen.portfolio.tests/pom.xml b/name.abuchen.portfolio.tests/pom.xml index ee92898aaa..86869b5f17 100644 --- a/name.abuchen.portfolio.tests/pom.xml +++ b/name.abuchen.portfolio.tests/pom.xml @@ -57,4 +57,19 @@ + + + + org.mockito + mockito-core + 5.4.0 + + + + + + org.mockito + mockito-core + + \ No newline at end of file diff --git a/name.abuchen.portfolio.tests/src/fileversions/ReadingHistoricClientFilesTest.java b/name.abuchen.portfolio.tests/src/fileversions/ReadingHistoricClientFilesTest.java index 146f2467b7..6447c49262 100644 --- a/name.abuchen.portfolio.tests/src/fileversions/ReadingHistoricClientFilesTest.java +++ b/name.abuchen.portfolio.tests/src/fileversions/ReadingHistoricClientFilesTest.java @@ -14,6 +14,7 @@ import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.model.ClientTestUtilities; @@ -22,6 +23,8 @@ @SuppressWarnings("nls") public class ReadingHistoricClientFilesTest { + private NegativeValue negativeValue = new NegativeValue(); + @Parameters(name = "{index}: {0}") public static Collection getFiles() { @@ -42,20 +45,23 @@ public ReadingHistoricClientFilesTest(String file, int versionOnDisk) @Test public void compare() throws IOException { - Client xmlClient = ClientFactory.load(find(file + ".xml"), null, new NullProgressMonitor()); + Client xmlClient = ClientFactory.load(negativeValue, find(file + ".xml"), null, new NullProgressMonitor()); String xml = ClientTestUtilities.toString(xmlClient); assertThat(xmlClient.getFileVersionAfterRead(), is(versionOnDisk)); - Client binaryClient = ClientFactory.load(find(file + ".binary.portfolio"), null, new NullProgressMonitor()); + Client binaryClient = ClientFactory.load(negativeValue, find(file + ".binary.portfolio"), null, + new NullProgressMonitor()); String binary = ClientTestUtilities.toString(binaryClient); assertThat(binaryClient.getFileVersionAfterRead(), is(versionOnDisk)); - Client binaryEncryptedClient = ClientFactory.load(find(file + ".binary+pwd.portfolio"), "123456".toCharArray(), + Client binaryEncryptedClient = ClientFactory.load(negativeValue, find(file + ".binary+pwd.portfolio"), + "123456".toCharArray(), new NullProgressMonitor()); String binaryEncrypted = ClientTestUtilities.toString(binaryEncryptedClient); assertThat(binaryEncryptedClient.getFileVersionAfterRead(), is(versionOnDisk)); - Client xmlEncrpytedClient = ClientFactory.load(find(file + ".xml+pwd.portfolio"), "123456".toCharArray(), + Client xmlEncrpytedClient = ClientFactory.load(negativeValue, find(file + ".xml+pwd.portfolio"), + "123456".toCharArray(), new NullProgressMonitor()); String xmlEncrpyted = ClientTestUtilities.toString(xmlEncrpytedClient); assertThat(xmlEncrpytedClient.getFileVersionAfterRead(), is(versionOnDisk)); diff --git a/name.abuchen.portfolio.tests/src/fileversions/XStreamReferencesTest.java b/name.abuchen.portfolio.tests/src/fileversions/XStreamReferencesTest.java index 4a2495cef5..55524176b4 100644 --- a/name.abuchen.portfolio.tests/src/fileversions/XStreamReferencesTest.java +++ b/name.abuchen.portfolio.tests/src/fileversions/XStreamReferencesTest.java @@ -9,6 +9,7 @@ import org.junit.Test; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.model.ClientTestUtilities; @@ -16,11 +17,14 @@ @SuppressWarnings("nls") public class XStreamReferencesTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testReadingWithReferencesAndWritingWithoutReferences() throws IOException { Client withReferences = ClientFactory - .load(XStreamReferencesTest.class.getResourceAsStream("client_with_relative_references.xml")); + .load(negativeValue, XStreamReferencesTest.class + .getResourceAsStream("client_with_relative_references.xml")); // check that the first two securities have the same latest price object // (is a reference in the XML file) @@ -29,7 +33,8 @@ public void testReadingWithReferencesAndWritingWithoutReferences() throws IOExce .getLatest(), is(true)); String xml = ClientTestUtilities.toString(withReferences); - Client without = ClientFactory.load(new ByteArrayInputStream(xml.getBytes(StandardCharsets.UTF_8))); + Client without = ClientFactory.load(negativeValue, + new ByteArrayInputStream(xml.getBytes(StandardCharsets.UTF_8))); assertThat(without.getSecurities().get(0).getLatest() == without.getSecurities().get(1).getLatest(), is(false)); } @@ -37,7 +42,8 @@ public void testReadingWithReferencesAndWritingWithoutReferences() throws IOExce public void testReadingWithIdReferencesAndWritingWithoutIdReferences() throws IOException { Client withReferences = ClientFactory - .load(XStreamReferencesTest.class.getResourceAsStream("client_with_id_references.xml"), true); + .load(negativeValue, XStreamReferencesTest.class + .getResourceAsStream("client_with_id_references.xml"), true); // check that the first two securities have the same latest price object // (is a reference with "id" attribute in the XML file) @@ -46,7 +52,8 @@ public void testReadingWithIdReferencesAndWritingWithoutIdReferences() throws IO .getLatest(), is(true)); String xml = ClientTestUtilities.toString(withReferences, true); - Client without = ClientFactory.load(new ByteArrayInputStream(xml.getBytes(StandardCharsets.UTF_8))); + Client without = ClientFactory.load(negativeValue, + new ByteArrayInputStream(xml.getBytes(StandardCharsets.UTF_8))); assertThat(without.getSecurities().get(0).getLatest() == without.getSecurities().get(1).getLatest(), is(false)); } } diff --git a/name.abuchen.portfolio.tests/src/fileversions/events/SecurityEventSourceMovedTest.java b/name.abuchen.portfolio.tests/src/fileversions/events/SecurityEventSourceMovedTest.java index 44d9110764..18915d9d1c 100644 --- a/name.abuchen.portfolio.tests/src/fileversions/events/SecurityEventSourceMovedTest.java +++ b/name.abuchen.portfolio.tests/src/fileversions/events/SecurityEventSourceMovedTest.java @@ -16,6 +16,7 @@ import org.mockito.MockedStatic; import org.mockito.Mockito; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.model.SaveFlag; @@ -25,10 +26,12 @@ @SuppressWarnings("nls") public class SecurityEventSourceMovedTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testXMLFormat() throws IOException { - Client client = ClientFactory.load( + Client client = ClientFactory.load(negativeValue, SecurityEventSourceMovedTest.class.getResourceAsStream("client_with_security_events.xml")); assertEvents(client); @@ -37,7 +40,7 @@ public void testXMLFormat() throws IOException @Test public void testBinaryFormat() throws IOException { - Client client = ClientFactory.load(find("client_with_security_events.portfolio"), null, + Client client = ClientFactory.load(negativeValue, find("client_with_security_events.portfolio"), null, new NullProgressMonitor()); assertEvents(client); @@ -53,8 +56,9 @@ public void testBinaryFormat() throws IOException })) { Path tempFile = Files.createTempFile("test", ".portfolio"); - ClientFactory.saveAs(client, tempFile.toFile(), null, EnumSet.of(SaveFlag.BINARY, SaveFlag.COMPRESSED)); - Client rereadClient = ClientFactory.load(tempFile.toFile(), null, new NullProgressMonitor()); + ClientFactory.saveAs(negativeValue, client, tempFile.toFile(), null, + EnumSet.of(SaveFlag.BINARY, SaveFlag.COMPRESSED)); + Client rereadClient = ClientFactory.load(negativeValue, tempFile.toFile(), null, new NullProgressMonitor()); assertEvents(rereadClient); } } diff --git a/name.abuchen.portfolio.tests/src/issues/Issue1498FifoCrossPortfolioTest.java b/name.abuchen.portfolio.tests/src/issues/Issue1498FifoCrossPortfolioTest.java index 40fa54f5cb..8570b6334e 100644 --- a/name.abuchen.portfolio.tests/src/issues/Issue1498FifoCrossPortfolioTest.java +++ b/name.abuchen.portfolio.tests/src/issues/Issue1498FifoCrossPortfolioTest.java @@ -9,6 +9,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.model.Security; @@ -26,11 +27,13 @@ public class Issue1498FifoCrossPortfolioTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testPurchaseValueOfSecurityPositionWithTransfers() throws IOException { - Client client = ClientFactory - .load(Issue1498FifoCrossPortfolioTest.class.getResourceAsStream("Issue1498FifoCrossPortfolio.xml")); //$NON-NLS-1$ + Client client = ClientFactory.load(negativeValue, + Issue1498FifoCrossPortfolioTest.class.getResourceAsStream("Issue1498FifoCrossPortfolio.xml")); //$NON-NLS-1$ Security lufthansa = client.getSecurities().get(0); assertThat(lufthansa.getName(), is("Deutsche Lufthansa AG")); //$NON-NLS-1$ diff --git a/name.abuchen.portfolio.tests/src/issues/Issue1817CapitalGainsOnFilteredClientIfSecurityIsTransferredTest.java b/name.abuchen.portfolio.tests/src/issues/Issue1817CapitalGainsOnFilteredClientIfSecurityIsTransferredTest.java index 578c152389..fc0ba3321a 100644 --- a/name.abuchen.portfolio.tests/src/issues/Issue1817CapitalGainsOnFilteredClientIfSecurityIsTransferredTest.java +++ b/name.abuchen.portfolio.tests/src/issues/Issue1817CapitalGainsOnFilteredClientIfSecurityIsTransferredTest.java @@ -6,6 +6,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Classification; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; @@ -19,10 +20,12 @@ public class Issue1817CapitalGainsOnFilteredClientIfSecurityIsTransferredTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testPurchaseValueOfSecurityPositionWithTransfers() throws IOException { - Client client = ClientFactory.load(Issue371PurchaseValueWithTransfersTest.class + Client client = ClientFactory.load(negativeValue, Issue371PurchaseValueWithTransfersTest.class .getResourceAsStream("Issue1817CapitalGainsOnFilteredClientIfSecurityIsTransferred.xml")); //$NON-NLS-1$ CurrencyConverter converter = new TestCurrencyConverter(); diff --git a/name.abuchen.portfolio.tests/src/issues/Issue1879DividendRateOfReturnPerYearWithSecurityInMultipleAccountsTest.java b/name.abuchen.portfolio.tests/src/issues/Issue1879DividendRateOfReturnPerYearWithSecurityInMultipleAccountsTest.java index 81e8dd88f0..458e5ebc20 100644 --- a/name.abuchen.portfolio.tests/src/issues/Issue1879DividendRateOfReturnPerYearWithSecurityInMultipleAccountsTest.java +++ b/name.abuchen.portfolio.tests/src/issues/Issue1879DividendRateOfReturnPerYearWithSecurityInMultipleAccountsTest.java @@ -10,6 +10,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.money.CurrencyConverter; @@ -22,10 +23,13 @@ public class Issue1879DividendRateOfReturnPerYearWithSecurityInMultipleAccountsTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testPurchaseValueOfSecurityPositionWithTransfers() throws IOException { - Client client = ClientFactory.load(Issue1879DividendRateOfReturnPerYearWithSecurityInMultipleAccountsTest.class + Client client = ClientFactory.load(negativeValue, + Issue1879DividendRateOfReturnPerYearWithSecurityInMultipleAccountsTest.class .getResourceAsStream("Issue1879DividendRateOfReturnPerYearWithSecurityInMultipleAccounts.xml")); //$NON-NLS-1$ CurrencyConverter converter = new TestCurrencyConverter(); diff --git a/name.abuchen.portfolio.tests/src/issues/Issue1897AddFeesToDividendTransactionsTest.java b/name.abuchen.portfolio.tests/src/issues/Issue1897AddFeesToDividendTransactionsTest.java index 7cbb23fbe6..ec4fbaa78a 100644 --- a/name.abuchen.portfolio.tests/src/issues/Issue1897AddFeesToDividendTransactionsTest.java +++ b/name.abuchen.portfolio.tests/src/issues/Issue1897AddFeesToDividendTransactionsTest.java @@ -12,6 +12,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.Classification; import name.abuchen.portfolio.model.Client; @@ -40,11 +41,12 @@ public class Issue1897AddFeesToDividendTransactionsTest private static CurrencyConverter converter = new TestCurrencyConverter(); private static Interval period = Interval.of(LocalDate.parse("2020-11-01"), //$NON-NLS-1$ LocalDate.parse("2020-12-31")); //$NON-NLS-1$ + private static NegativeValue negativeValue = new NegativeValue(); @BeforeClass public static void setup() throws IOException { - client = ClientFactory.load(Issue371PurchaseValueWithTransfersTest.class + client = ClientFactory.load(negativeValue, Issue371PurchaseValueWithTransfersTest.class .getResourceAsStream("Issue1897AddFeesToDividendTransactions.xml")); //$NON-NLS-1$ } diff --git a/name.abuchen.portfolio.tests/src/issues/Issue1898TradeIRRwithPortfolioTransfersTest.java b/name.abuchen.portfolio.tests/src/issues/Issue1898TradeIRRwithPortfolioTransfersTest.java index 15422ba101..f354336810 100644 --- a/name.abuchen.portfolio.tests/src/issues/Issue1898TradeIRRwithPortfolioTransfersTest.java +++ b/name.abuchen.portfolio.tests/src/issues/Issue1898TradeIRRwithPortfolioTransfersTest.java @@ -11,6 +11,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.model.Security; @@ -21,10 +22,12 @@ public class Issue1898TradeIRRwithPortfolioTransfersTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testPurchaseValueOfSecurityPositionWithTransfers() throws IOException, TradeCollectorException { - Client client = ClientFactory.load(Issue1898TradeIRRwithPortfolioTransfersTest.class + Client client = ClientFactory.load(negativeValue, Issue1898TradeIRRwithPortfolioTransfersTest.class .getResourceAsStream("Issue1898TradeIRRwithPortfolioTransfers.xml")); //$NON-NLS-1$ CurrencyConverter converter = new TestCurrencyConverter(); diff --git a/name.abuchen.portfolio.tests/src/issues/Issue1909FIFOCalculationOfSecurityPositionTest.java b/name.abuchen.portfolio.tests/src/issues/Issue1909FIFOCalculationOfSecurityPositionTest.java index 44da616b05..9c2a6fbb65 100644 --- a/name.abuchen.portfolio.tests/src/issues/Issue1909FIFOCalculationOfSecurityPositionTest.java +++ b/name.abuchen.portfolio.tests/src/issues/Issue1909FIFOCalculationOfSecurityPositionTest.java @@ -9,6 +9,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.model.Security; @@ -26,10 +27,12 @@ public class Issue1909FIFOCalculationOfSecurityPositionTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testDefaultSnapshot() throws IOException { - Client client = ClientFactory.load(Issue1909FIFOCalculationOfSecurityPositionTest.class + Client client = ClientFactory.load(negativeValue, Issue1909FIFOCalculationOfSecurityPositionTest.class .getResourceAsStream("Issue1909FIFOCalculationOfSecurityPosition.xml")); //$NON-NLS-1$ Security security = client.getSecurities().get(0); diff --git a/name.abuchen.portfolio.tests/src/issues/Issue371PurchaseValueWithTransfersTest.java b/name.abuchen.portfolio.tests/src/issues/Issue371PurchaseValueWithTransfersTest.java index 744d587593..337f20655c 100644 --- a/name.abuchen.portfolio.tests/src/issues/Issue371PurchaseValueWithTransfersTest.java +++ b/name.abuchen.portfolio.tests/src/issues/Issue371PurchaseValueWithTransfersTest.java @@ -9,6 +9,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.model.PortfolioTransaction; @@ -28,10 +29,12 @@ public class Issue371PurchaseValueWithTransfersTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testPurchaseValueOfSecurityPositionWithTransfers() throws IOException { - Client client = ClientFactory.load(Issue371PurchaseValueWithTransfersTest.class + Client client = ClientFactory.load(negativeValue, Issue371PurchaseValueWithTransfersTest.class .getResourceAsStream("Issue371PurchaseValueWithTransfers.xml")); //$NON-NLS-1$ Security adidas = client.getSecurities().get(0); diff --git a/name.abuchen.portfolio.tests/src/issues/Issue4446FIFOMultipleTransfers.java b/name.abuchen.portfolio.tests/src/issues/Issue4446FIFOMultipleTransfers.java index da0a5d0938..97e1b486b4 100644 --- a/name.abuchen.portfolio.tests/src/issues/Issue4446FIFOMultipleTransfers.java +++ b/name.abuchen.portfolio.tests/src/issues/Issue4446FIFOMultipleTransfers.java @@ -10,6 +10,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.model.Security; @@ -25,10 +26,12 @@ public class Issue4446FIFOMultipleTransfers { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testDefaultSnapshot() throws IOException, TradeCollectorException { - Client client = ClientFactory.load( + Client client = ClientFactory.load(negativeValue, Issue4446FIFOMultipleTransfers.class.getResourceAsStream("Issue4446FIFOMultipleTransfers.xml")); //$NON-NLS-1$ Security security = client.getSecurities().get(0); @@ -51,7 +54,7 @@ public void testFIFOWithTransferAndSameDayPurchase() throws IOException, TradeCo // scenario: first a purchase (with a time in the transaction) and then // an outbound transfer (without time stamp) on the same day - Client client = ClientFactory.load(Issue4446FIFOMultipleTransfers.class + Client client = ClientFactory.load(negativeValue, Issue4446FIFOMultipleTransfers.class .getResourceAsStream("Issue4446FIFOTransferWithSameDayPurchase.xml")); //$NON-NLS-1$ Security security = client.getSecurities().get(0); diff --git a/name.abuchen.portfolio.tests/src/issues/Issue672CapitalGainsIfSecurityIsTransferredTest.java b/name.abuchen.portfolio.tests/src/issues/Issue672CapitalGainsIfSecurityIsTransferredTest.java index 29a34cf5cd..b3043686f7 100644 --- a/name.abuchen.portfolio.tests/src/issues/Issue672CapitalGainsIfSecurityIsTransferredTest.java +++ b/name.abuchen.portfolio.tests/src/issues/Issue672CapitalGainsIfSecurityIsTransferredTest.java @@ -10,6 +10,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.model.Portfolio; @@ -26,10 +27,12 @@ public class Issue672CapitalGainsIfSecurityIsTransferredTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testPurchaseValueOfSecurityPositionWithTransfers() throws IOException { - Client client = ClientFactory.load(Issue371PurchaseValueWithTransfersTest.class + Client client = ClientFactory.load(negativeValue, Issue371PurchaseValueWithTransfersTest.class .getResourceAsStream("Issue672CapitalGainsIfSecurityIsTransferred.xml")); //$NON-NLS-1$ CurrencyConverter converter = new TestCurrencyConverter(); diff --git a/name.abuchen.portfolio.tests/src/issues/IssueCurrencyGainsRoundingErrorTest.java b/name.abuchen.portfolio.tests/src/issues/IssueCurrencyGainsRoundingErrorTest.java index 4cc8e2f33e..88109e0a95 100644 --- a/name.abuchen.portfolio.tests/src/issues/IssueCurrencyGainsRoundingErrorTest.java +++ b/name.abuchen.portfolio.tests/src/issues/IssueCurrencyGainsRoundingErrorTest.java @@ -10,6 +10,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.money.CurrencyConverter; @@ -22,10 +23,12 @@ public class IssueCurrencyGainsRoundingErrorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testPurchaseValueOfSecurityPositionWithTransfers() throws IOException { - Client client = ClientFactory.load(IssueCurrencyGainsRoundingErrorTest.class + Client client = ClientFactory.load(negativeValue, IssueCurrencyGainsRoundingErrorTest.class .getResourceAsStream("IssueCurrencyGainsRoundingError.xml")); //$NON-NLS-1$ Interval period = Interval.of(LocalDate.parse("2015-01-09"), //$NON-NLS-1$ diff --git a/name.abuchen.portfolio.tests/src/issues/IssueFixGrossValueUnitInClientFactoryTest.java b/name.abuchen.portfolio.tests/src/issues/IssueFixGrossValueUnitInClientFactoryTest.java index e54e95b61b..ed34da2b76 100644 --- a/name.abuchen.portfolio.tests/src/issues/IssueFixGrossValueUnitInClientFactoryTest.java +++ b/name.abuchen.portfolio.tests/src/issues/IssueFixGrossValueUnitInClientFactoryTest.java @@ -7,6 +7,7 @@ import org.junit.Test; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; @@ -15,10 +16,12 @@ public class IssueFixGrossValueUnitInClientFactoryTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testMigrationOfClassificationKeys() throws IOException { - Client client = ClientFactory.load(Issue1498FifoCrossPortfolioTest.class + Client client = ClientFactory.load(negativeValue, Issue1498FifoCrossPortfolioTest.class .getResourceAsStream("IssueFixGrossValueUnitInClientFactory.xml")); //$NON-NLS-1$ assertThat(client.getFileVersionAfterRead(), is(55)); diff --git a/name.abuchen.portfolio.tests/src/issues/IssueMigrationOfClassificationKeysTest.java b/name.abuchen.portfolio.tests/src/issues/IssueMigrationOfClassificationKeysTest.java index 449841b90e..0e03fd34d7 100644 --- a/name.abuchen.portfolio.tests/src/issues/IssueMigrationOfClassificationKeysTest.java +++ b/name.abuchen.portfolio.tests/src/issues/IssueMigrationOfClassificationKeysTest.java @@ -8,6 +8,7 @@ import org.junit.Test; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Classification; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; @@ -15,10 +16,12 @@ public class IssueMigrationOfClassificationKeysTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testMigrationOfClassificationKeys() throws IOException { - Client client = ClientFactory.load(Issue1498FifoCrossPortfolioTest.class + Client client = ClientFactory.load(negativeValue, Issue1498FifoCrossPortfolioTest.class .getResourceAsStream("IssueMigrationOfClassificationKeys.xml")); //$NON-NLS-1$ assertThat(client.getFileVersionAfterRead(), is(54)); diff --git a/name.abuchen.portfolio.tests/src/issues/IssueUmarshallingArraysArrayListTest.java b/name.abuchen.portfolio.tests/src/issues/IssueUmarshallingArraysArrayListTest.java index 1d46c5dfb9..87c1b52e98 100644 --- a/name.abuchen.portfolio.tests/src/issues/IssueUmarshallingArraysArrayListTest.java +++ b/name.abuchen.portfolio.tests/src/issues/IssueUmarshallingArraysArrayListTest.java @@ -10,16 +10,19 @@ import org.junit.Test; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.model.Taxonomy; public class IssueUmarshallingArraysArrayListTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testMigrationOfClassificationKeys() throws IOException { - Client client = ClientFactory.load(IssueUmarshallingArraysArrayListTest.class + Client client = ClientFactory.load(negativeValue, IssueUmarshallingArraysArrayListTest.class .getResourceAsStream("IssueUmarshallingArraysArrayList.xml")); //$NON-NLS-1$ Taxonomy taxonomy = client.getTaxonomies().get(0); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/ExtractorUtilsConvertToNumberBigDecimalTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/ExtractorUtilsConvertToNumberBigDecimalTest.java index 3424c2fb04..a29a9ef0a5 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/ExtractorUtilsConvertToNumberBigDecimalTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/ExtractorUtilsConvertToNumberBigDecimalTest.java @@ -12,12 +12,15 @@ import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.money.Values; @RunWith(Parameterized.class) @SuppressWarnings("nls") public class ExtractorUtilsConvertToNumberBigDecimalTest { + NegativeValue negativeValue = new NegativeValue(); + private String input; private Locale locale; private BigDecimal expectedOutput; @@ -49,7 +52,8 @@ public static Collection data() @Test public void testConvertToNumberBigDecimal() { - BigDecimal actualOutput = ExtractorUtils.convertToNumberBigDecimal(input, null, locale.getLanguage(), + BigDecimal actualOutput = ExtractorUtils.convertToNumberBigDecimal(negativeValue, input, null, + locale.getLanguage(), locale.getCountry()); assertEquals(expectedOutput, actualOutput); } @@ -57,6 +61,7 @@ public void testConvertToNumberBigDecimal() @Test(expected = IllegalArgumentException.class) public void testConvertToNumberBigDecimalWithInvalidInput() { - ExtractorUtils.convertToNumberBigDecimal("abc", Values.Share, locale.getLanguage(), locale.getCountry()); + ExtractorUtils.convertToNumberBigDecimal(negativeValue, "abc", Values.Share, locale.getLanguage(), + locale.getCountry()); } } diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/ExtractorUtilsConvertToNumberLongTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/ExtractorUtilsConvertToNumberLongTest.java index b321606064..80a9fe7bdc 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/ExtractorUtilsConvertToNumberLongTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/ExtractorUtilsConvertToNumberLongTest.java @@ -11,12 +11,15 @@ import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.money.Values; @RunWith(Parameterized.class) @SuppressWarnings("nls") public class ExtractorUtilsConvertToNumberLongTest { + NegativeValue negativeValue = new NegativeValue(); + private final String input; private final Locale locale; private final long expectedOutput; @@ -43,7 +46,8 @@ public static Collection data() @Test public void testConvertToNumberLong() { - long actualOutput = ExtractorUtils.convertToNumberLong(input, Values.Amount, locale.getLanguage(), + long actualOutput = ExtractorUtils.convertToNumberLong(negativeValue, input, Values.Amount, + locale.getLanguage(), locale.getCountry()); assertEquals(expectedOutput, actualOutput); } @@ -51,6 +55,7 @@ public void testConvertToNumberLong() @Test(expected = IllegalArgumentException.class) public void testConvertToNumberLongWithInvalidInput() { - ExtractorUtils.convertToNumberLong("abc", Values.Amount, locale.getLanguage(), locale.getCountry()); + ExtractorUtils.convertToNumberLong(negativeValue, "abc", Values.Amount, locale.getLanguage(), + locale.getCountry()); } } diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/csv/CSVAccountTransactionExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/csv/CSVAccountTransactionExtractorTest.java index e3b516bb3b..2c58ff3aaf 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/csv/CSVAccountTransactionExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/csv/CSVAccountTransactionExtractorTest.java @@ -49,6 +49,7 @@ import name.abuchen.portfolio.datatransfer.csv.CSVImporter.EnumMapFormat; import name.abuchen.portfolio.datatransfer.csv.CSVImporter.Field; import name.abuchen.portfolio.datatransfer.csv.CSVImporter.FieldFormat; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.AccountTransaction.Type; @@ -64,12 +65,15 @@ @SuppressWarnings("nls") public class CSVAccountTransactionExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testDividendTransactionPlusSecurityCreation() throws ParseException { Client client = new Client(); - CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + var extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList(); List results = extractor.extract(0, @@ -103,6 +107,7 @@ public void testValuesAreTrimmed() throws ParseException Client client = new Client(); CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList(); List results = extractor.extract(0, @@ -139,6 +144,7 @@ public void testDividendTransaction() client.addSecurity(security); CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList(); List results = extractor.extract(0, @@ -166,6 +172,7 @@ public void testDividendTransaction_whenSecurityIsMissing() Client client = new Client(); CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList(); List results = extractor.extract(0, Arrays.asList( @@ -205,6 +212,7 @@ public void testTypeIsDeterminedByPositiveAmount() Client client = new Client(); CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList(); List results = extractor.extract(0, Arrays.asList( @@ -229,6 +237,7 @@ public void testTypeIsDeterminedByNegativeUnaryMinusOperator() Client client = new Client(); CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList(); List results = extractor.extract(0, Arrays.asList( @@ -258,6 +267,7 @@ public void testTypeIsDeterminedByUnaryMinusOperatorAndSecurity() client.addSecurity(security); CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList(); List results = extractor.extract(0, Arrays.asList( @@ -278,6 +288,7 @@ public void testThatSecurityIsAddedOnlyOnce() Client client = new Client(); CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList(); List results = extractor.extract(0, Arrays.asList( // @@ -298,6 +309,7 @@ public void testBuyTransaction() client.addSecurity(security); CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList(); List results = extractor.extract(0, Arrays.asList(new String[] { "2013-01-01", "10:00", @@ -326,6 +338,7 @@ public void testBuyTransactionFailsWhenSharesAreMissing() client.addSecurity(security); CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList(); List results = extractor.extract(0, Arrays.asList(new String[] { "2013-01-01", "", @@ -345,6 +358,7 @@ public void testBuyTransactionFailsWhenSecurityIsMissing() client.addSecurity(security); CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList(); List results = extractor.extract(0, Arrays.asList( @@ -361,6 +375,7 @@ public void testTransferTransaction() Client client = new Client(); CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList(); List results = extractor.extract(0, Arrays.asList( // @@ -386,6 +401,7 @@ public void testTransferOutTransactionWithCurrencyConversion() Client client = new Client(); CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList(); List results = extractor.extract(0, Arrays.asList( @@ -428,6 +444,7 @@ public void testTransferInTransactionWithCurrencyConversion() Client client = new Client(); CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList(); List results = extractor.extract(0, @@ -502,6 +519,7 @@ public void testTaxesOnDividends() Client client = new Client(); CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList(); List results = extractor.extract(0, Arrays.asList( // @@ -525,6 +543,7 @@ public void testDetectionOfFeeRefunds() Client client = new Client(); CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); // setup custom mapping from string -> type @@ -572,6 +591,7 @@ public void testScientificNotation() Client client = new Client(); CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList(); Map field2column = buildField2Column(extractor); @@ -607,6 +627,7 @@ public void testInterestWithTaxesTransaction() Client client = new Client(); CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); List results = extractor.extract(0, Arrays.asList( // @@ -645,6 +666,7 @@ public void testBuyTransactionWithForex() client.addSecurity(security); CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); List results = extractor.extract(0, Arrays.asList(new String[] { // @@ -684,6 +706,7 @@ public void testGrossValueIsCreated() client.addSecurity(security); CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); List results = extractor.extract(0, Arrays.asList(new String[] { // @@ -723,6 +746,7 @@ public void testExchangeRateIsDerivedFromGrossValue() client.addSecurity(security); CSVExtractor extractor = new CSVAccountTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); List results = extractor.extract(0, Arrays.asList(new String[] { // @@ -763,6 +787,7 @@ public void testRoundingOnExchangeRates() .toList(); var extractor = new CSVAccountTransactionExtractor(new Client()); + extractor.setNegativeValue(negativeValue); var errors = new ArrayList(); // the extract method gets only the data rows -> use sub list diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/csv/CSVPortfolioTransactionExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/csv/CSVPortfolioTransactionExtractorTest.java index 8fdebbb1a5..283199906f 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/csv/CSVPortfolioTransactionExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/csv/CSVPortfolioTransactionExtractorTest.java @@ -21,6 +21,7 @@ import name.abuchen.portfolio.datatransfer.Extractor.TransactionItem; import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.csv.CSVImporter.Column; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Client; @@ -35,12 +36,15 @@ @SuppressWarnings("nls") public class CSVPortfolioTransactionExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testDeliveryTransactionPlusSecurityCreation() { Client client = new Client(); - CSVExtractor extractor = new CSVPortfolioTransactionExtractor(client); + var extractor = new CSVPortfolioTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); List results = extractor.extract(0, @@ -80,6 +84,7 @@ public void testTransferTransaction() client.addSecurity(security); CSVExtractor extractor = new CSVPortfolioTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); List results = extractor.extract(0, @@ -121,6 +126,7 @@ public void testTransferTransactionDateContainsTime() client.addSecurity(security); CSVExtractor extractor = new CSVPortfolioTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -173,6 +179,7 @@ public void testTransferTransactionDateContainsTimeAndTimeColumn() client.addSecurity(security); CSVExtractor extractor = new CSVPortfolioTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); List results = extractor.extract(0, @@ -215,6 +222,7 @@ public void testBuyTransaction() client.addSecurity(security); CSVExtractor extractor = new CSVPortfolioTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); List results = extractor.extract(0, @@ -254,6 +262,7 @@ public void testBuyTransactionWithForex() client.addSecurity(security); CSVExtractor extractor = new CSVPortfolioTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); List results = extractor.extract(0, @@ -291,6 +300,7 @@ public void testTypeIsInferred() client.addSecurity(security); CSVExtractor extractor = new CSVPortfolioTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); List results = extractor.extract(0, @@ -313,6 +323,7 @@ public void testThatSecurityIsCreatedByName() Client client = new Client(); CSVExtractor extractor = new CSVPortfolioTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); List results = extractor.extract(0, @@ -371,6 +382,7 @@ public void testGrossValueIsCreated() client.addSecurity(security); CSVExtractor extractor = new CSVPortfolioTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); List results = extractor.extract(0, @@ -402,6 +414,7 @@ public void testPlusSignInShares() Client client = new Client(); CSVExtractor extractor = new CSVPortfolioTransactionExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); List results = extractor.extract(0, diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/csv/CSVSecurityExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/csv/CSVSecurityExtractorTest.java index 2b93c211b2..eb61ccf1d5 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/csv/CSVSecurityExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/csv/CSVSecurityExtractorTest.java @@ -19,6 +19,7 @@ import name.abuchen.portfolio.datatransfer.Extractor.Item; import name.abuchen.portfolio.datatransfer.Extractor.SecurityItem; import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Security; import name.abuchen.portfolio.money.CurrencyUnit; @@ -28,12 +29,15 @@ @SuppressWarnings("nls") public class CSVSecurityExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testSecurityCreationWithAllSecurityData() throws ParseException { Client client = new Client(); - CSVExtractor extractor = new CSVSecurityExtractor(client); + var extractor = new CSVSecurityExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList(); List results = extractor.extract(0, Arrays.asList( // diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/csv/CSVSecurityPriceExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/csv/CSVSecurityPriceExtractorTest.java index 51a07676e6..69a4503e7e 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/csv/CSVSecurityPriceExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/csv/CSVSecurityPriceExtractorTest.java @@ -14,6 +14,7 @@ import name.abuchen.portfolio.datatransfer.Extractor.Item; import name.abuchen.portfolio.datatransfer.Extractor.SecurityItem; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Security; import name.abuchen.portfolio.model.SecurityPrice; import name.abuchen.portfolio.money.Values; @@ -21,10 +22,13 @@ @SuppressWarnings("nls") public class CSVSecurityPriceExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testSecurityCreation() { - CSVExtractor extractor = new CSVSecurityPriceExtractor(); + var extractor = new CSVSecurityPriceExtractor(); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); List results = extractor.extract(0, Arrays.asList( // diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/ibflex/IBFlexStatementExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/ibflex/IBFlexStatementExtractorTest.java index 063d95ccfa..baf1e51050 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/ibflex/IBFlexStatementExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/ibflex/IBFlexStatementExtractorTest.java @@ -53,6 +53,7 @@ import name.abuchen.portfolio.datatransfer.Extractor.SecurityItem; import name.abuchen.portfolio.datatransfer.Extractor.TransactionItem; import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -71,6 +72,8 @@ @SuppressWarnings("nls") public class IBFlexStatementExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + private Extractor.InputFile createTempFile(InputStream input) throws IOException { File tempFile = Files.createTempFile("IBFlexStatementExtractorTest", null).toFile(); @@ -83,7 +86,8 @@ private Extractor.InputFile createTempFile(InputStream input) throws IOException @Test public void testThatExceptionIsAddedForNonFlexStatementDocuments() throws IOException { - IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + var extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream otherFile = getClass().getResourceAsStream("../pdf/comdirect/Dividende05.txt"); Extractor.InputFile tempFile = createTempFile(otherFile); @@ -100,6 +104,7 @@ public void testThatExceptionIsAddedForNonFlexStatementDocuments() throws IOExce public void testIBFlexStatementFile01() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile01.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -667,6 +672,7 @@ public void testIBFlexStatementFile01() throws IOException public void testIBFlexStatementFile02() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile02.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -1061,6 +1067,7 @@ public void testIBFlexStatementFile02() throws IOException public void testIBFlexStatementFile03() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile03.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -1104,6 +1111,7 @@ public void testIBFlexStatementFile03() throws IOException public void testIBFlexStatementFile04() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile04.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -1166,6 +1174,7 @@ public void testIBFlexStatementFile04() throws IOException public void testIBFlexStatementFile05() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile05.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -1293,6 +1302,7 @@ public void testIBFlexStatementFile05() throws IOException public void testIBFlexStatementFile06() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile06.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -1426,6 +1436,7 @@ public void testIBFlexStatementFile06() throws IOException public void testIBFlexStatementFile07() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile07.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -1486,6 +1497,7 @@ public void testIBFlexStatementFile07() throws IOException public void testIBFlexStatementFile08() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile08.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -1558,6 +1570,7 @@ public void testIBFlexStatementFile08() throws IOException public void testIBFlexStatementFile09() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile09.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -1664,6 +1677,7 @@ public void testIBFlexStatementFile10() throws IOException client.addPortfolio(portfolio); IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(client); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile10.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -1740,6 +1754,7 @@ public void testIBFlexStatementFile10() throws IOException public void testIBFlexStatementFile11() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile11.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -1802,6 +1817,7 @@ public void testIBFlexStatementFile11() throws IOException public void testIBFlexStatementFile12() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile12.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -2115,6 +2131,7 @@ public void testIBFlexStatementFile12() throws IOException public void testIBFlexStatementFile14() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile14.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -2370,6 +2387,7 @@ public void testIBFlexStatementFile14() throws IOException public void testIBFlexStatementFile15() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile15.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -2456,6 +2474,7 @@ public void testIBFlexStatementFile15() throws IOException public void testIBFlexStatementFile16() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile16.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -2539,6 +2558,7 @@ public void testIBFlexStatementFile16() throws IOException public void testIBFlexStatementFile17() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile17.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -2636,6 +2656,7 @@ public void testIBFlexStatementFile17() throws IOException public void testIBFlexStatementFile18() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile18.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -2823,6 +2844,7 @@ public void testIBFlexStatementFile18() throws IOException public void testIBFlexStatementFile19() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile19.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -2949,6 +2971,7 @@ public void testIBFlexStatementFile19() throws IOException public void testIBFlexStatementFile20() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile20.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -3061,6 +3084,7 @@ public void testIBFlexStatementFile20() throws IOException public void testIBFlexStatementFile21() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile21.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -3147,6 +3171,7 @@ public void testIBFlexStatementFile21() throws IOException public void testIBFlexStatementFile22() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile22.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -3211,6 +3236,7 @@ public void testIBFlexStatementFile22() throws IOException public void testIBFlexStatementFile23() throws IOException { IBFlexStatementExtractor extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); InputStream activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile23.xml"); Extractor.InputFile tempFile = createTempFile(activityStatement); @@ -3300,6 +3326,7 @@ public void testIBFlexStatementFile23() throws IOException public void testIBFlexStatementFile24() throws IOException { var extractor = new IBFlexStatementExtractor(new Client()); + extractor.setNegativeValue(negativeValue); var activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile24.xml"); var tempFile = createTempFile(activityStatement); @@ -3351,6 +3378,7 @@ public void testIBFlexStatementFile25() throws IOException client.addSecurity(test2); var extractor = new IBFlexStatementExtractor(client); + extractor.setNegativeValue(negativeValue); var activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile25.xml"); var tempFile = createTempFile(activityStatement); @@ -3436,6 +3464,7 @@ public void testIBFlexStatementFile26() throws IOException client.addPortfolio(portfolioB); var extractor = new IBFlexStatementExtractor(client); + extractor.setNegativeValue(negativeValue); var activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile26.xml"); var tempFile = createTempFile(activityStatement); @@ -3509,6 +3538,7 @@ public void testIBFlexStatementFile27() throws IOException client.addPortfolio(portfolio); var extractor = new IBFlexStatementExtractor(client); + extractor.setNegativeValue(negativeValue); var activityStatement = getClass().getResourceAsStream("testIBFlexStatementFile27.xml"); var tempFile = createTempFile(activityStatement); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/abnamrogroup/ABNAMROGroupPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/abnamrogroup/ABNAMROGroupPDFExtractorTest.java index b036299c9e..a509f7db26 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/abnamrogroup/ABNAMROGroupPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/abnamrogroup/ABNAMROGroupPDFExtractorTest.java @@ -30,16 +30,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.ABNAMROGroupPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class ABNAMROGroupPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); @Test public void testKontoauszug01() { var extractor = new ABNAMROGroupPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/advanziabank/AdvanziaBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/advanziabank/AdvanziaBankPDFExtractorTest.java index a6c0002bba..6e40cb992d 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/advanziabank/AdvanziaBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/advanziabank/AdvanziaBankPDFExtractorTest.java @@ -26,15 +26,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.AdvanziaBankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class AdvanziaBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKontoauszug01() { var extractor = new AdvanziaBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ajbellsecuritieslimited/AJBellSecuritiesLimitedPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ajbellsecuritieslimited/AJBellSecuritiesLimitedPDFExtractorTest.java index 7186fbbedc..bb2d25ccbf 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ajbellsecuritieslimited/AJBellSecuritiesLimitedPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ajbellsecuritieslimited/AJBellSecuritiesLimitedPDFExtractorTest.java @@ -35,15 +35,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.AJBellSecuritiesLimitedPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class AJBellSecuritiesLimitedPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testSecurityBuy01() { var extractor = new AJBellSecuritiesLimitedPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -78,6 +82,7 @@ public void testSecurityBuy01() public void testSecurityBuy02() { var extractor = new AJBellSecuritiesLimitedPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -112,6 +117,7 @@ public void testSecurityBuy02() public void testSecurityBuy03() { var extractor = new AJBellSecuritiesLimitedPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -146,6 +152,7 @@ public void testSecurityBuy03() public void testSecuritySale01() { var extractor = new AJBellSecuritiesLimitedPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -180,6 +187,7 @@ public void testSecuritySale01() public void testSecuritySale02() { var extractor = new AJBellSecuritiesLimitedPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/akfbank/AkfBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/akfbank/AkfBankPDFExtractorTest.java index 02256310f8..814a698cea 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/akfbank/AkfBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/akfbank/AkfBankPDFExtractorTest.java @@ -31,15 +31,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.AkfBankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class AkfBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKontoauszug01() { var extractor = new AkfBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/alpaccapital/AlpacCapitalPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/alpaccapital/AlpacCapitalPDFExtractorTest.java index 55e5a53530..b1d8793b3c 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/alpaccapital/AlpacCapitalPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/alpaccapital/AlpacCapitalPDFExtractorTest.java @@ -35,15 +35,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.AlpacCapitalPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class AlpacCapitalPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testSecurityBuy01() { var extractor = new AlpacCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -78,6 +82,7 @@ public void testSecurityBuy01() public void testSecurityBuy02() { var extractor = new AlpacCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/apobank/ApoBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/apobank/ApoBankPDFExtractorTest.java index 8de3ae62c3..d1346955b4 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/apobank/ApoBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/apobank/ApoBankPDFExtractorTest.java @@ -36,15 +36,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.ApoBankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class ApoBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKauf01() { var extractor = new ApoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/arkeadirectbank/ArkeaDirectBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/arkeadirectbank/ArkeaDirectBankPDFExtractorTest.java index 5deb018463..fbbe565738 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/arkeadirectbank/ArkeaDirectBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/arkeadirectbank/ArkeaDirectBankPDFExtractorTest.java @@ -38,15 +38,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.ArkeaDirectBankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class ArkeaDirectBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testCompteAchat01() { var extractor = new ArkeaDirectBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -81,6 +85,7 @@ public void testCompteAchat01() public void testCompteAchat02() { var extractor = new ArkeaDirectBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -129,6 +134,7 @@ public void testCompteAchat02() public void testCompteAchat03() { var extractor = new ArkeaDirectBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -163,6 +169,7 @@ public void testCompteAchat03() public void testCompteAchat04() { var extractor = new ArkeaDirectBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -215,6 +222,7 @@ public void testCompteAchat05() var extractor = new ArkeaDirectBankPDFExtractor(new Client()); List errors = new ArrayList<>(); + extractor.setNegativeValue(negativeValue); var results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Achat05.txt"), errors); @@ -249,6 +257,7 @@ public void testCompteAchat06() var extractor = new ArkeaDirectBankPDFExtractor(new Client()); List errors = new ArrayList<>(); + extractor.setNegativeValue(negativeValue); var results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Achat06.txt"), errors); @@ -281,6 +290,7 @@ public void testCompteAchat06() public void testCompteAchat07() { var extractor = new ArkeaDirectBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -315,6 +325,7 @@ public void testCompteAchat07() public void testCompteAchat08() { var extractor = new ArkeaDirectBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -349,6 +360,7 @@ public void testCompteAchat08() public void testCompteAchat09() { var extractor = new ArkeaDirectBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -413,6 +425,7 @@ public void testCompteAchat09() public void testCompteAchat07WithAchatTaxesTreatment07() { var extractor = new ArkeaDirectBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -448,6 +461,7 @@ public void testCompteAchat07WithAchatTaxesTreatment07() public void testCompteAchat07WithTaxesTreatment07_SourceFilesReversed() { var extractor = new ArkeaDirectBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -483,6 +497,7 @@ public void testCompteAchat07WithTaxesTreatment07_SourceFilesReversed() public void testCompteAchatTaxesTreatment07() { var extractor = new ArkeaDirectBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -517,6 +532,7 @@ public void testCompteAchatTaxesTreatment07() public void testDeposit01() { var extractor = new ArkeaDirectBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -582,6 +598,7 @@ public void testDeposit01() public void testDividende01() { var extractor = new ArkeaDirectBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -616,6 +633,7 @@ public void testDividende01() public void testDividende02() { var extractor = new ArkeaDirectBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -650,6 +668,7 @@ public void testDividende02() public void testDividende03() { var extractor = new ArkeaDirectBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -684,6 +703,7 @@ public void testDividende03() public void testTaxesTreatment01() { var extractor = new ArkeaDirectBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -718,6 +738,7 @@ public void testTaxesTreatment01() public void testTaxesTreatment02() { var extractor = new ArkeaDirectBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/audibank/AudiBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/audibank/AudiBankPDFExtractorTest.java index 450faacb2b..8f815912ef 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/audibank/AudiBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/audibank/AudiBankPDFExtractorTest.java @@ -30,15 +30,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.AudiBankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class AudiBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKontoauszug01() { var extractor = new AudiBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/austriananadibank/AustrianAnadiBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/austriananadibank/AustrianAnadiBankPDFExtractorTest.java index 2872778c48..3e940dfb60 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/austriananadibank/AustrianAnadiBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/austriananadibank/AustrianAnadiBankPDFExtractorTest.java @@ -30,15 +30,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.AustrianAnadiBankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class AustrianAnadiBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKontoauszug01() { var extractor = new AustrianAnadiBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/avivaplc/AvivaPLCPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/avivaplc/AvivaPLCPDFExtractorTest.java index 364178443e..185e88798d 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/avivaplc/AvivaPLCPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/avivaplc/AvivaPLCPDFExtractorTest.java @@ -35,15 +35,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.AvivaPLCPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class AvivaPLCPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new AvivaPLCPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -78,6 +82,7 @@ public void testWertpapierKauf01() public void testWertpapierKauf02() { var extractor = new AvivaPLCPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -125,6 +130,7 @@ public void testWertpapierKauf02() public void testWertpapierVerkauf01() { var extractor = new AvivaPLCPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -159,6 +165,7 @@ public void testWertpapierVerkauf01() public void testWertpapierVerkauf02() { var extractor = new AvivaPLCPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/baaderbank/BaaderBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/baaderbank/BaaderBankPDFExtractorTest.java index 6f8608735e..c402cd42ac 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/baaderbank/BaaderBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/baaderbank/BaaderBankPDFExtractorTest.java @@ -48,6 +48,7 @@ import java.util.ArrayList; import java.util.List; +import org.junit.Before; import org.junit.Test; import name.abuchen.portfolio.Messages; @@ -60,6 +61,7 @@ import name.abuchen.portfolio.datatransfer.pdf.BaaderBankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.TestCoinSearchProvider; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -76,6 +78,8 @@ @SuppressWarnings("nls") public class BaaderBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + BaaderBankPDFExtractor extractor = new BaaderBankPDFExtractor(new Client()) { @Override @@ -85,10 +89,17 @@ protected List lookupCryptoProvider() } }; + @Before + public void init() + { + extractor.setNegativeValue(negativeValue); + } + @Test public void testWertpapierKauf01() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -139,6 +150,7 @@ public void testWertpapierKauf01() public void testWertpapierKauf02() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -189,6 +201,7 @@ public void testWertpapierKauf02() public void testWertpapierKauf03() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -239,6 +252,7 @@ public void testWertpapierKauf03() public void testWertpapierKauf04() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -289,6 +303,7 @@ public void testWertpapierKauf04() public void testWertpapierKauf05() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -339,6 +354,7 @@ public void testWertpapierKauf05() public void testWertpapierKauf06() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -389,6 +405,7 @@ public void testWertpapierKauf06() public void testWertpapierKauf07() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -439,6 +456,7 @@ public void testWertpapierKauf07() public void testWertpapierKauf08() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -489,6 +507,7 @@ public void testWertpapierKauf08() public void testWertpapierKauf09() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -539,6 +558,7 @@ public void testWertpapierKauf09() public void testWertpapierKauf10() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -589,6 +609,7 @@ public void testWertpapierKauf10() public void testWertpapierKauf11() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -639,6 +660,7 @@ public void testWertpapierKauf11() public void testWertpapierKauf12() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -689,6 +711,7 @@ public void testWertpapierKauf12() public void testWertpapierKauf13() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -739,6 +762,7 @@ public void testWertpapierKauf13() public void testWertpapierKauf14() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -789,6 +813,7 @@ public void testWertpapierKauf14() public void testWertpapierKauf15() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -838,6 +863,7 @@ public void testWertpapierKauf15() public void testWertpapierKauf16() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -888,6 +914,7 @@ public void testWertpapierKauf16() public void testWertpapierKauf17() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -938,6 +965,7 @@ public void testWertpapierKauf17() public void testWertpapierKauf18() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -987,6 +1015,7 @@ public void testWertpapierKauf18() public void testWertpapierKauf19() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1037,6 +1066,7 @@ public void testWertpapierKauf19() public void testWertpapierKauf20() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1087,6 +1117,7 @@ public void testWertpapierKauf20() public void testWertpapierKauf21() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1137,6 +1168,7 @@ public void testWertpapierKauf21() public void testWertpapierKauf22() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1187,6 +1219,7 @@ public void testWertpapierKauf22() public void testWertpapierKauf23() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1221,6 +1254,7 @@ public void testWertpapierKauf23() public void testWertpapierKauf24() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1253,6 +1287,7 @@ public void testWertpapierKauf24() public void testWertpapierKauf25() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1287,6 +1322,7 @@ public void testWertpapierKauf25() public void testWertpapierKauf26() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1319,6 +1355,7 @@ public void testWertpapierKauf26() public void testWertpapierKauf27() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1361,6 +1398,7 @@ public void testWertpapierKauf27WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1387,6 +1425,7 @@ public void testWertpapierKauf27WithSecurityInEUR() public void testWertpapierKauf28() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1421,6 +1460,7 @@ public void testWertpapierKauf28() public void testWertpapierKauf29() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1461,6 +1501,7 @@ public void testWertpapierKauf29WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1489,6 +1530,7 @@ public void testWertpapierKauf29WithSecurityInEUR() public void testWertpapierKauf30() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1521,6 +1563,7 @@ public void testWertpapierKauf30() public void testWertpapierKauf31() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1563,6 +1606,7 @@ public void testWertpapierKauf31WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1589,6 +1633,7 @@ public void testWertpapierKauf31WithSecurityInEUR() public void testWertpapierKauf32() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1631,6 +1676,7 @@ public void testWertpapierKauf32WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1657,6 +1703,7 @@ public void testWertpapierKauf32WithSecurityInEUR() public void testWertpapierKauf33() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1691,6 +1738,7 @@ public void testWertpapierKauf33() public void testWertpapierKauf34() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1723,6 +1771,7 @@ public void testWertpapierKauf34() public void testWertpapierKauf35() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1757,6 +1806,7 @@ public void testWertpapierKauf35() public void testWertpapierKauf36() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1789,6 +1839,7 @@ public void testWertpapierKauf36() public void testWertpapierKauf37() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1831,6 +1882,7 @@ public void testWertpapierKauf37WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1859,6 +1911,7 @@ public void testWertpapierKauf37WithSecurityInEUR() public void testWertpapierVerkauf01() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1909,6 +1962,7 @@ public void testWertpapierVerkauf01() public void testWertpapierVerkauf02() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1959,6 +2013,7 @@ public void testWertpapierVerkauf02() public void testWertpapierVerkauf03() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2009,6 +2064,7 @@ public void testWertpapierVerkauf03() public void testWertpapierVerkauf04() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2059,6 +2115,7 @@ public void testWertpapierVerkauf04() public void testWertpapierVerkauf05() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2109,6 +2166,7 @@ public void testWertpapierVerkauf05() public void testWertpapierVerkauf06() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2169,6 +2227,7 @@ public void testWertpapierVerkauf06WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2215,6 +2274,7 @@ public void testWertpapierVerkauf06WithSecurityInEUR() public void testWertpapierVerkauf07() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2265,6 +2325,7 @@ public void testWertpapierVerkauf07() public void testWertpapierVerkauf08() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2315,6 +2376,7 @@ public void testWertpapierVerkauf08() public void testWertpapierVerkauf09() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2365,6 +2427,7 @@ public void testWertpapierVerkauf09() public void testWertpapierVerkauf10() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2415,6 +2478,7 @@ public void testWertpapierVerkauf10() public void testWertpapierVerkauf11() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2465,6 +2529,7 @@ public void testWertpapierVerkauf11() public void testWertpapierVerkauf12() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2515,6 +2580,7 @@ public void testWertpapierVerkauf12() public void testWertpapierVerkauf13() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2565,6 +2631,7 @@ public void testWertpapierVerkauf13() public void testWertpapierVerkauf14() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2615,6 +2682,7 @@ public void testWertpapierVerkauf14() public void testWertpapierVerkauf15() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2665,6 +2733,7 @@ public void testWertpapierVerkauf15() public void testWertpapierVerkauf16() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2699,6 +2768,7 @@ public void testWertpapierVerkauf16() public void testWertpapierVerkauf17() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2733,6 +2803,7 @@ public void testWertpapierVerkauf17() public void testWertpapierVerkauf18() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2767,6 +2838,7 @@ public void testWertpapierVerkauf18() public void testWertpapierVerkauf19() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2809,6 +2881,7 @@ public void testWertpapierVerkauf19WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2837,6 +2910,7 @@ public void testWertpapierVerkauf19WithSecurityInEUR() public void testWertpapierVerkauf20() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2871,6 +2945,7 @@ public void testWertpapierVerkauf20() public void testWertpapierVerkauf21() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2905,6 +2980,7 @@ public void testWertpapierVerkauf21() public void testWertpapierSqueezeOut01() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2973,6 +3049,7 @@ public void testCryptoKauf01() public void testVorabpauschale01() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3018,6 +3095,7 @@ public void testVorabpauschale01() public void testVorabpauschale02() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3054,6 +3132,7 @@ public void testVorabpauschale02() public void testVorabpauschale03() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3090,6 +3169,7 @@ public void testVorabpauschale03() public void testAdvanceTax01() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3124,6 +3204,7 @@ public void testAdvanceTax01() public void testDividende01() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3170,6 +3251,7 @@ public void testDividende01() public void testDividende02() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3215,6 +3297,7 @@ public void testDividende02() public void testDividende03() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3271,6 +3354,7 @@ public void testDividende03WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3314,6 +3398,7 @@ public void testDividende03WithSecurityInEUR() public void testDividende04() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3359,6 +3444,7 @@ public void testDividende04() public void testDividende05() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3414,6 +3500,7 @@ public void testDividende05WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3456,6 +3543,7 @@ public void testDividende05WithSecurityInEUR() public void testDividende06() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3512,6 +3600,7 @@ public void testDividende06WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3555,6 +3644,7 @@ public void testDividende06WithSecurityInEUR() public void testDividende07() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3611,6 +3701,7 @@ public void testDividende07WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3654,6 +3745,7 @@ public void testDividende07WithSecurityInEUR() public void testDividende08() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3704,6 +3796,7 @@ public void testDividende09() * we don't know how to post it. */ var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3749,6 +3842,7 @@ public void testDividende09() public void testDividende10() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3804,6 +3898,7 @@ public void testDividende10WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3846,6 +3941,7 @@ public void testDividende10WithSecurityInEUR() public void testDividende11() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3891,6 +3987,7 @@ public void testDividende11() public void testDividende12() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3947,6 +4044,7 @@ public void testDividende12WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3990,6 +4088,7 @@ public void testDividende12WithSecurityInEUR() public void testDividende13() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4045,6 +4144,7 @@ public void testDividende13WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4087,6 +4187,7 @@ public void testDividende13WithSecurityInEUR() public void testDividende14() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4132,6 +4233,7 @@ public void testDividende14() public void testDividende15() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4174,6 +4276,7 @@ public void testDividende15WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4202,6 +4305,7 @@ public void testDividende15WithSecurityInEUR() public void testDividende16() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4244,6 +4348,7 @@ public void testDividende16WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4272,6 +4377,7 @@ public void testDividende16WithSecurityInEUR() public void testDividende17() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4313,6 +4419,7 @@ public void testDividende17WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4342,6 +4449,7 @@ public void testDividende17WithSecurityInEUR() public void testDividende18() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4383,6 +4491,7 @@ public void testDividende18WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4412,6 +4521,7 @@ public void testDividende18WithSecurityInEUR() public void testDividende19() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4453,6 +4563,7 @@ public void testDividende19WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4482,6 +4593,7 @@ public void testDividende19WithSecurityInEUR() public void testDividende20() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4523,6 +4635,7 @@ public void testDividende20WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4552,6 +4665,7 @@ public void testDividende20WithSecurityInEUR() public void testDividende21() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4593,6 +4707,7 @@ public void testDividende21WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4622,6 +4737,7 @@ public void testDividende21WithSecurityInEUR() public void testDividende22() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4663,6 +4779,7 @@ public void testDividende22WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4692,6 +4809,7 @@ public void testDividende22WithSecurityInEUR() public void testDividende23() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4734,6 +4852,7 @@ public void testDividende23WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4762,6 +4881,7 @@ public void testDividende23WithSecurityInEUR() public void testDividende24() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4796,6 +4916,7 @@ public void testDividende24() public void testDividende25() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4837,6 +4958,7 @@ public void testDividende25WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4866,6 +4988,7 @@ public void testDividende25WithSecurityInEUR() public void testDividende26() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4908,6 +5031,7 @@ public void testDividende26WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4936,6 +5060,7 @@ public void testDividende26WithSecurityInEUR() public void testDividende27() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4978,6 +5103,7 @@ public void testDividende27WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5006,6 +5132,7 @@ public void testDividende27WithSecurityInEUR() public void testDividendeStorno01() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5041,6 +5168,7 @@ public void testDividendeStorno01() public void testDividendeStorno02() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5098,6 +5226,7 @@ public void testDividendeStorno02() public void testDividendeStorno03() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5142,6 +5271,7 @@ public void testDividendeStorno03WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5172,6 +5302,7 @@ public void testDividendeStorno03WithSecurityInEUR() public void testDividendeStorno04() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5216,6 +5347,7 @@ public void testDividendeStorno04WithSecurityInEUR() client.addSecurity(security); var extractor = new BaaderBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5246,6 +5378,7 @@ public void testDividendeStorno04WithSecurityInEUR() public void testDividendeStorno05() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5282,6 +5415,7 @@ public void testDividendeStorno05() public void testSteuerausgleichsrechnung01() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5318,6 +5452,7 @@ public void testSteuerausgleichsrechnung01() public void testSteuerausgleichsrechnung02() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5354,6 +5489,7 @@ public void testSteuerausgleichsrechnung02() public void testSteuerausgleichsrechnung03() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5390,6 +5526,7 @@ public void testSteuerausgleichsrechnung03() public void testSteuerausgleichsrechnung04() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5419,6 +5556,7 @@ public void testSteuerausgleichsrechnung04() public void testSteuerausgleichsrechnung05() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5448,6 +5586,7 @@ public void testSteuerausgleichsrechnung05() public void testPeriodenauszug01() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5482,6 +5621,7 @@ public void testPeriodenauszug01() public void testPeriodenauszug02() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5536,6 +5676,7 @@ public void testPeriodenauszug02() public void testPeriodenauszug03() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5570,6 +5711,7 @@ public void testPeriodenauszug03() public void testPeriodenauszug04() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5624,6 +5766,7 @@ public void testPeriodenauszug04() public void testPeriodenauszug05() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5658,6 +5801,7 @@ public void testPeriodenauszug05() public void testPeriodenauszug06() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5690,6 +5834,7 @@ public void testPeriodenauszug06() public void testPeriodenauszug07() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5722,6 +5867,7 @@ public void testPeriodenauszug07() public void testPeriodenauszug08() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5746,6 +5892,7 @@ public void testPeriodenauszug08() public void testPeriodenauszug09() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5794,6 +5941,7 @@ public void testPeriodenauszug09() public void testPeriodenauszug10() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5822,6 +5970,7 @@ public void testPeriodenauszug10() public void testPeriodenauszug11() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5850,6 +5999,7 @@ public void testPeriodenauszug11() public void testPeriodenauszug12() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5874,6 +6024,7 @@ public void testPeriodenauszug12() public void testPeriodenauszug13() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5919,6 +6070,7 @@ public void testPeriodenauszug13() public void testPeriodenauszug14() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5951,6 +6103,7 @@ public void testPeriodenauszug14() public void testPeriodenauszug15() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5987,6 +6140,7 @@ public void testPeriodenauszug15() public void testPeriodenauszug16() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6023,6 +6177,7 @@ public void testPeriodenauszug16() public void testPeriodenauszug17() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6046,6 +6201,7 @@ public void testPeriodenauszug17() public void testTageskontoauszug01() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6080,6 +6236,7 @@ public void testTageskontoauszug01() public void testRechnung01() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6115,6 +6272,7 @@ public void testRechnung01() public void testRechnungsabschluss01() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6143,6 +6301,7 @@ public void testRechnungsabschluss01() public void testRechnungsabschluss02() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6171,6 +6330,7 @@ public void testRechnungsabschluss02() public void testRechnungsabschluss03() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6199,6 +6359,7 @@ public void testRechnungsabschluss03() public void StatementofInterestandCharges01() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6228,6 +6389,7 @@ public void StatementofInterestandCharges01() public void testEinbuchung01() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6297,6 +6459,7 @@ public void testEinbuchung01() public void testFusion01() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6333,6 +6496,7 @@ public void testFusion01() public void testFusion02() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6369,6 +6533,7 @@ public void testFusion02() public void testFusion03() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6405,6 +6570,7 @@ public void testFusion03() public void testDepoteinlieferung01() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6441,6 +6607,7 @@ public void testDepoteinlieferung01() public void testDepoteinlieferung02() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6477,6 +6644,7 @@ public void testDepoteinlieferung02() public void testDepoteinlieferung03() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6513,6 +6681,7 @@ public void testDepoteinlieferung03() public void testSplit01() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6549,6 +6718,7 @@ public void testSplit01() public void testSplit02() { var extractor = new BaaderBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bancobilbaovizcayaargentaria/BancoBilbaoVizcayaArgentariaPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bancobilbaovizcayaargentaria/BancoBilbaoVizcayaArgentariaPDFExtractorTest.java index 15eb59fe2d..7aa7d6bd68 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bancobilbaovizcayaargentaria/BancoBilbaoVizcayaArgentariaPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bancobilbaovizcayaargentaria/BancoBilbaoVizcayaArgentariaPDFExtractorTest.java @@ -40,6 +40,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.BancoBilbaoVizcayaArgentariaPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.Client; @@ -50,10 +51,13 @@ @SuppressWarnings("nls") public class BancoBilbaoVizcayaArgentariaPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testValorCompra01() { var extractor = new BancoBilbaoVizcayaArgentariaPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -94,6 +98,7 @@ public void testValorCompra01WithSecurityInEUR() client.addSecurity(security); var extractor = new BancoBilbaoVizcayaArgentariaPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bank11/Bank11PDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bank11/Bank11PDFExtractorTest.java index 0889aa09c1..7ceebde752 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bank11/Bank11PDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bank11/Bank11PDFExtractorTest.java @@ -26,15 +26,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.Bank11PDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class Bank11PDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKontoauszug01() { var extractor = new Bank11PDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bankslm/BankSLMPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bankslm/BankSLMPDFExtractorTest.java index 6362ee4cc4..13c7f51acd 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bankslm/BankSLMPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bankslm/BankSLMPDFExtractorTest.java @@ -25,6 +25,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.BankSLMPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -38,10 +39,13 @@ @SuppressWarnings("nls") public class BankSLMPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new BankSLMPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -102,6 +106,7 @@ public void testWertpapierKauf01WithSecurityInEUR() client.addSecurity(security); var extractor = new BankSLMPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -149,6 +154,7 @@ public void testWertpapierKauf01WithSecurityInEUR() public void testWertpapierKauf02() { var extractor = new BankSLMPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -199,6 +205,7 @@ public void testWertpapierKauf02() public void testWertpapierKauf03() { var extractor = new BankSLMPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -249,6 +256,7 @@ public void testWertpapierKauf03() public void testWertpapierVerkauf01() { var extractor = new BankSLMPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -299,6 +307,7 @@ public void testWertpapierVerkauf01() public void testWertpapierVerkauf02() { var extractor = new BankSLMPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -359,6 +368,7 @@ public void testWertpapierVerkauf02WithSecurityInEUR() client.addSecurity(security); var extractor = new BankSLMPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -406,6 +416,7 @@ public void testWertpapierVerkauf02WithSecurityInEUR() public void testDividende01() { var extractor = new BankSLMPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -451,6 +462,7 @@ public void testDividende01() public void testDividende02() { var extractor = new BankSLMPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/barclaysbankirelandplc/BarclaysBankIrelandPLCPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/barclaysbankirelandplc/BarclaysBankIrelandPLCPDFExtractorTest.java index 724695201b..35c2bf738d 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/barclaysbankirelandplc/BarclaysBankIrelandPLCPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/barclaysbankirelandplc/BarclaysBankIrelandPLCPDFExtractorTest.java @@ -28,15 +28,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.BarclaysBankIrelandPLCPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class BarclaysBankIrelandPLCPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKreditKontoauszug01() { var extractor = new BarclaysBankIrelandPLCPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/basellandschaftlichekantonalbank/BasellandschaftlicheKantonalbankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/basellandschaftlichekantonalbank/BasellandschaftlicheKantonalbankPDFExtractorTest.java index 32789ff515..1cbf72ba3e 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/basellandschaftlichekantonalbank/BasellandschaftlicheKantonalbankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/basellandschaftlichekantonalbank/BasellandschaftlicheKantonalbankPDFExtractorTest.java @@ -35,15 +35,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.BasellandschaftlicheKantonalbankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class BasellandschaftlicheKantonalbankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new BasellandschaftlicheKantonalbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -78,6 +82,7 @@ public void testWertpapierKauf01() public void testWertpapierKauf02() { var extractor = new BasellandschaftlicheKantonalbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -112,6 +117,7 @@ public void testWertpapierKauf02() public void testWertpapierVerkauf01() { var extractor = new BasellandschaftlicheKantonalbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -146,6 +152,7 @@ public void testWertpapierVerkauf01() public void testWertpapierVerkauf02() { var extractor = new BasellandschaftlicheKantonalbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bawagag/BawagAgPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bawagag/BawagAgPDFExtractorTest.java index 3f54a9d844..3651973551 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bawagag/BawagAgPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bawagag/BawagAgPDFExtractorTest.java @@ -25,15 +25,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.BawagAGPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class BawagAgPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKreditKontoauszug01() { var extractor = new BawagAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bigbank/BigbankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bigbank/BigbankPDFExtractorTest.java index d018ea9e93..efb51d1fa0 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bigbank/BigbankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bigbank/BigbankPDFExtractorTest.java @@ -26,15 +26,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.BigbankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class BigbankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKontoauszug01() { var extractor = new BigbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -67,6 +71,7 @@ public void testKontoauszug01() public void testKontoauszug02() { var extractor = new BigbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -103,6 +108,7 @@ public void testKontoauszug02() public void testKontoauszug03() { var extractor = new BigbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bison/BisonPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bison/BisonPDFExtractorTest.java index 4af1294e4d..fbb36d27ab 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bison/BisonPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bison/BisonPDFExtractorTest.java @@ -42,6 +42,7 @@ import name.abuchen.portfolio.datatransfer.pdf.BisonPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.TestCoinSearchProvider; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.online.SecuritySearchProvider; import name.abuchen.portfolio.online.impl.CoinGeckoQuoteFeed; @@ -49,6 +50,8 @@ @SuppressWarnings("nls") public class BisonPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + BisonPDFExtractor extractor = new BisonPDFExtractor(new Client()) { @Override @@ -438,6 +441,7 @@ public void testInfoReport05() public void testVorabpauschale01() { var extractor = new BisonPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bondoracapital/BondoraCapitalPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bondoracapital/BondoraCapitalPDFExtractorTest.java index 8faaf5d722..d05e48d816 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bondoracapital/BondoraCapitalPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bondoracapital/BondoraCapitalPDFExtractorTest.java @@ -29,15 +29,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.BondoraCapitalPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class BondoraCapitalPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKontoauszug01() { var extractor = new BondoraCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -74,6 +78,7 @@ public void testKontoauszug01() public void testKontoauszug02() { var extractor = new BondoraCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -125,6 +130,7 @@ public void testKontoauszug02() public void testKontoauszug03() { var extractor = new BondoraCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -165,6 +171,7 @@ public void testKontoauszug03() public void testKontoauszug04() { var extractor = new BondoraCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -216,6 +223,7 @@ public void testKontoauszug04() public void testKontoauszug05() { var extractor = new BondoraCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -259,6 +267,7 @@ public void testKontoauszug05() public void testKontoauszug06() { var extractor = new BondoraCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -309,6 +318,7 @@ public void testKontoauszug06() public void testKontoauszug07() { var extractor = new BondoraCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -350,6 +360,7 @@ public void testKontoauszug07() public void testKontoauszug08() { var extractor = new BondoraCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -393,6 +404,7 @@ public void testKontoauszug08() public void testKontoauszug09() { var extractor = new BondoraCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -450,6 +462,7 @@ public void testKontoauszug09() public void testKontoauszug10() { var extractor = new BondoraCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -502,6 +515,7 @@ public void testKontoauszug10() public void testKontoauszug11() { var extractor = new BondoraCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -546,6 +560,7 @@ public void testKontoauszug11() public void testKontoauszug12() { var extractor = new BondoraCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -591,6 +606,7 @@ public void testKontoauszug12() public void testKontoauszug13() { var extractor = new BondoraCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -649,6 +665,7 @@ public void testKontoauszug13() public void testKontoauszug14() { var extractor = new BondoraCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -677,6 +694,7 @@ public void testKontoauszug14() public void testKontoauszug15() { var extractor = new BondoraCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -709,6 +727,7 @@ public void testKontoauszug15() public void testKontoauszug16() { var extractor = new BondoraCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -737,6 +756,7 @@ public void testKontoauszug16() public void testKontoauszug17() { var extractor = new BondoraCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/boursedirect/BourseDirectPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/boursedirect/BourseDirectPDFExtractorTest.java index 655d127ea3..768592dd20 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/boursedirect/BourseDirectPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/boursedirect/BourseDirectPDFExtractorTest.java @@ -39,16 +39,20 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.BourseDirectPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Security; @SuppressWarnings("nls") public class BourseDirectPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testReleveDeCompte01() { var extractor = new BourseDirectPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -111,6 +115,7 @@ public void testReleveDeCompte01() public void testReleveDeCompte02() { var extractor = new BourseDirectPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -201,6 +206,7 @@ public void testReleveDeCompte02() public void testReleveDeCompte03() { var extractor = new BourseDirectPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -235,6 +241,7 @@ public void testReleveDeCompte03() public void testReleveDeCompte04() { var extractor = new BourseDirectPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -259,6 +266,7 @@ public void testReleveDeCompte04() public void testReleveDeCompte05() { var extractor = new BourseDirectPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -319,6 +327,7 @@ public void testDividende02WithSecurityInEUR() client.addSecurity(security2); var extractor = new BourseDirectPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -355,6 +364,7 @@ public void testDividende02WithSecurityInEUR() public void testReleveDeCompte06() { var extractor = new BourseDirectPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -389,6 +399,7 @@ public void testReleveDeCompte06() public void testReleveDeCompte07() { var extractor = new BourseDirectPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/boursobank/BoursoBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/boursobank/BoursoBankPDFExtractorTest.java index 47e67f86a2..dd03906086 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/boursobank/BoursoBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/boursobank/BoursoBankPDFExtractorTest.java @@ -40,6 +40,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.BoursoBankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Portfolio; import name.abuchen.portfolio.model.PortfolioTransaction; @@ -48,10 +49,13 @@ @SuppressWarnings("nls") public class BoursoBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testCompteAChat01() { var extractor = new BoursoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -86,6 +90,7 @@ public void testCompteAChat01() public void testCompteAChat02() { var extractor = new BoursoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -120,6 +125,7 @@ public void testCompteAChat02() public void testCompteAChat03() { var extractor = new BoursoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -154,6 +160,7 @@ public void testCompteAChat03() public void testCompteAChat04() { var extractor = new BoursoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -188,6 +195,7 @@ public void testCompteAChat04() public void testCompteAChat05() { var extractor = new BoursoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -222,6 +230,7 @@ public void testCompteAChat05() public void testCompteAChat06() { var extractor = new BoursoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -263,6 +272,7 @@ public void testCompteAChat06WithSecurityInEUR() client.addSecurity(security); var extractor = new BoursoBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -296,6 +306,7 @@ public void testCompteAChat06WithSecurityInEUR() public void testCompteAChat07() { var extractor = new BoursoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -337,6 +348,7 @@ public void testCompteAchat07WithSecurityInEUR() client.addSecurity(security); var extractor = new BoursoBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -370,6 +382,7 @@ public void testCompteAchat07WithSecurityInEUR() public void testCompteVente01() { var extractor = new BoursoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -404,6 +417,7 @@ public void testCompteVente01() public void testCompteVente02() { var extractor = new BoursoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -438,6 +452,7 @@ public void testCompteVente02() public void testCompteVente03() { var extractor = new BoursoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -472,6 +487,7 @@ public void testCompteVente03() public void testCompteVente04() { var extractor = new BoursoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -513,6 +529,7 @@ public void testCompteVenteWithSecurityInEUR() client.addSecurity(security); var extractor = new BoursoBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -546,6 +563,7 @@ public void testCompteVenteWithSecurityInEUR() public void testDividende01() { var extractor = new BoursoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bsdex/BSDEXPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bsdex/BSDEXPDFExtractorTest.java index 7e36461eb1..682ae07a8a 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bsdex/BSDEXPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/bsdex/BSDEXPDFExtractorTest.java @@ -34,12 +34,14 @@ import java.util.ArrayList; import java.util.List; +import org.junit.Before; import org.junit.Test; import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.BSDEXPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.TestCoinSearchProvider; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.online.SecuritySearchProvider; import name.abuchen.portfolio.online.impl.CoinGeckoQuoteFeed; @@ -47,6 +49,8 @@ @SuppressWarnings("nls") public class BSDEXPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + BSDEXPDFExtractor extractor = new BSDEXPDFExtractor(new Client()) { @Override @@ -56,6 +60,12 @@ protected List lookupCryptoProvider() } }; + @Before + public void init() + { + extractor.setNegativeValue(negativeValue); + } + @Test public void testTransaktionshistorie01() { @@ -162,6 +172,7 @@ public void testTransaktionshistorie03() public void testTransaktionshistorie04() { var extractor = new BSDEXPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/c24bankgmbh/C24BankGmbHPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/c24bankgmbh/C24BankGmbHPDFExtractorTest.java index 976518216c..9e2e432c24 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/c24bankgmbh/C24BankGmbHPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/c24bankgmbh/C24BankGmbHPDFExtractorTest.java @@ -30,15 +30,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.C24BankGmbHPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class C24BankGmbHPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKontoauszug01() { var extractor = new C24BankGmbHPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/cetesdirecto/CetesDirectoPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/cetesdirecto/CetesDirectoPDFExtractorTest.java index 622c2f0f82..c2e3c7e5f1 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/cetesdirecto/CetesDirectoPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/cetesdirecto/CetesDirectoPDFExtractorTest.java @@ -36,15 +36,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.CetesDirectoPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class CetesDirectoPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf27() { var extractor = new CetesDirectoPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/comdirect/ComdirectPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/comdirect/ComdirectPDFExtractorTest.java index b722bffdf2..cc35fd2aff 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/comdirect/ComdirectPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/comdirect/ComdirectPDFExtractorTest.java @@ -48,16 +48,20 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.ComdirectPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Security; @SuppressWarnings("nls") public class ComdirectPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new ComdirectPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -202,6 +206,7 @@ public void testWertpapierKauf04WithSecurityInEUR() client.addSecurity(security); var extractor = new ComdirectPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/commerzbank/CommerzbankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/commerzbank/CommerzbankPDFExtractorTest.java index 5a5012cac4..e9026aafd7 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/commerzbank/CommerzbankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/commerzbank/CommerzbankPDFExtractorTest.java @@ -44,6 +44,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.CommerzbankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.Client; @@ -52,10 +53,13 @@ @SuppressWarnings("nls") public class CommerzbankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new CommerzbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -303,6 +307,7 @@ public void testSteuerbehandlungVonKauf06WithSecurityInEUR() client.addSecurity(security); var extractor = new CommerzbankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/commsec/CommSecPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/commsec/CommSecPDFExtractorTest.java index ef0ef5b997..d0839c64be 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/commsec/CommSecPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/commsec/CommSecPDFExtractorTest.java @@ -22,6 +22,7 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.CommSecPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Client; @@ -33,10 +34,13 @@ @SuppressWarnings("nls") public class CommSecPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new CommSecPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -87,6 +91,7 @@ public void testWertpapierKauf01() public void testWertpapierKauf02() { var extractor = new CommSecPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -137,6 +142,7 @@ public void testWertpapierKauf02() public void testWertpapierVerkauf01() { var extractor = new CommSecPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/computershare/ComputershareExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/computershare/ComputershareExtractorTest.java index 933fd65e29..a8f51e403a 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/computershare/ComputershareExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/computershare/ComputershareExtractorTest.java @@ -27,16 +27,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.ComputersharePDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class ComputershareExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); @Test public void testDepotAuszugWithPurchase01() { final var extractor = new ComputersharePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); final List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/ConsorsbankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/ConsorsbankPDFExtractorTest.java index 6edd27e0e9..2e6a5ef1dc 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/ConsorsbankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/consorsbank/ConsorsbankPDFExtractorTest.java @@ -51,6 +51,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.ConsorsbankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -65,10 +66,13 @@ @SuppressWarnings("nls") public class ConsorsbankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new ConsorsbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -380,6 +384,7 @@ public void testWertpapierKauf06WithSecurityInEUR() client.addSecurity(security); var extractor = new ConsorsbankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/creditmutuelalliancefederale/CreditMutuelAllianceFederalePDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/creditmutuelalliancefederale/CreditMutuelAllianceFederalePDFExtractorTest.java index ea5caed2db..6d59ee2e2f 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/creditmutuelalliancefederale/CreditMutuelAllianceFederalePDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/creditmutuelalliancefederale/CreditMutuelAllianceFederalePDFExtractorTest.java @@ -34,15 +34,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.CreditMutuelAllianceFederalePDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class CreditMutuelAllianceFederalePDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testCompteAChat01() { var extractor = new CreditMutuelAllianceFederalePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/creditsuisseag/CreditSuisseAGExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/creditsuisseag/CreditSuisseAGExtractorTest.java index d8cb4e3c2d..db10d9eca1 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/creditsuisseag/CreditSuisseAGExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/creditsuisseag/CreditSuisseAGExtractorTest.java @@ -21,6 +21,7 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.CreditSuisseAGPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Client; @@ -32,10 +33,13 @@ @SuppressWarnings("nls") public class CreditSuisseAGExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new CreditSuisseAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -100,6 +104,7 @@ public void testWertpapierKauf01() public void testWertpapierKauf02() { var extractor = new CreditSuisseAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -164,6 +169,7 @@ public void testWertpapierKauf02() public void testWertpapierVerkauf01() { var extractor = new CreditSuisseAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -212,6 +218,7 @@ public void testWertpapierVerkauf01() public void testWertpapierVerkauf02() { var extractor = new CreditSuisseAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -276,6 +283,7 @@ public void testWertpapierVerkauf02() public void testDividende01() { var extractor = new CreditSuisseAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -319,6 +327,7 @@ public void testDividende01() public void testDividende02() { var extractor = new CreditSuisseAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/crowdestor/CrowdestorPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/crowdestor/CrowdestorPDFExtractorTest.java index 90549162c1..5dc1d8b5b0 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/crowdestor/CrowdestorPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/crowdestor/CrowdestorPDFExtractorTest.java @@ -25,15 +25,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.CrowdestorPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class CrowdestorPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKontoauszug01() { var extractor = new CrowdestorPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dab/DABPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dab/DABPDFExtractorTest.java index d8b15f5d4f..7d1366d3d8 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dab/DABPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dab/DABPDFExtractorTest.java @@ -54,6 +54,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.DABPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -67,10 +68,13 @@ @SuppressWarnings("nls") public class DABPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new DABPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); var results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Kauf01.txt"), errors); @@ -277,6 +281,7 @@ public void testWertpapierKauf04WithSecurityInEUR() client.addSecurity(security); var extractor = new DABPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dadatbankenhaus/DADATBankenhausPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dadatbankenhaus/DADATBankenhausPDFExtractorTest.java index e471ef963f..357d48ab08 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dadatbankenhaus/DADATBankenhausPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dadatbankenhaus/DADATBankenhausPDFExtractorTest.java @@ -50,6 +50,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.DADATBankenhausPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -63,10 +64,13 @@ @SuppressWarnings("nls") public class DADATBankenhausPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new DADATBankenhausPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -641,6 +645,7 @@ public void testKontoauszug03WithSecurityInEUR() client.addSecurity(security); var extractor = new DADATBankenhausPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/debituminvestments/DebitumPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/debituminvestments/DebitumPDFExtractorTest.java index 67ae3fc512..8432c04be2 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/debituminvestments/DebitumPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/debituminvestments/DebitumPDFExtractorTest.java @@ -29,16 +29,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.DebitumInvestmentsPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class DebitumPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); @Test public void testAccountStatement01() { var extractor = new DebitumInvestmentsPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -73,6 +76,7 @@ public void testAccountStatement01() public void testAccountStatement02() { var extractor = new DebitumInvestmentsPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/degiro/DegiroPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/degiro/DegiroPDFExtractorTest.java index b2fa7edae8..7f040146f2 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/degiro/DegiroPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/degiro/DegiroPDFExtractorTest.java @@ -41,6 +41,7 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.DegiroPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Client; @@ -54,10 +55,13 @@ @SuppressWarnings("nls") public class DegiroPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKontoauszug01() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + var extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -88,6 +92,7 @@ public void testKontoauszug01() public void testKontoauszug02() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -169,6 +174,7 @@ public void testKontoauszug02() public void testKontoauszug03() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -340,6 +346,7 @@ public void testKontoauszug03() public void testKontoauszug04() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -364,6 +371,7 @@ public void testKontoauszug04() public void testKontoauszug05() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -455,6 +463,7 @@ public void testKontoauszug05() public void testKontoauszug06() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -494,6 +503,7 @@ public void testKontoauszug06() public void testKontoauszug07() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -522,6 +532,7 @@ public void testKontoauszug07() public void testKontoauszug08_minimal_example_two_currencies() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -568,6 +579,7 @@ public void testKontoauszug08_minimal_example_two_currencies() public void testKontoauszug08() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -833,6 +845,7 @@ public void testKontoauszug08() public void testKontoauszug09() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -927,6 +940,7 @@ public void testKontoauszug09() public void testKontoauszug10() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1017,6 +1031,7 @@ public void testKontoauszug10() public void testKontoauszug11() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1095,6 +1110,7 @@ public void testKontoauszug11() public void testKontoauszug12() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1299,6 +1315,7 @@ public void testKontoauszug12() public void testKontoauszug13() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1357,6 +1374,7 @@ public void testKontoauszug13() public void testKontoauszug14() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1604,6 +1622,7 @@ public void testKontoauszug14() public void testKontoauszug15() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2282,6 +2301,7 @@ public void testKontoauszug15() public void testRekeningoverzicht01() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2323,6 +2343,7 @@ public void testRekeningoverzicht01() public void testRekeningoverzicht02() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2373,6 +2394,7 @@ public void testRekeningoverzicht02() public void testRekeningoverzicht03() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2410,6 +2432,7 @@ public void testRekeningoverzicht03() public void testRekeningoverzicht04() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2458,6 +2481,7 @@ public void testRekeningoverzicht04() public void testRekeningoverzicht05() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2495,6 +2519,7 @@ public void testRekeningoverzicht05() public void testRekeningoverzicht06() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2528,6 +2553,7 @@ public void testRekeningoverzicht06() public void testRekeningoverzicht07() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2672,10 +2698,8 @@ public void testRekeningoverzicht07() assertThat(transaction.getSource(), is("Rekeningoverzicht07.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(328.78)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(469.67)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(328.78)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(469.67)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(140.89)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -2695,10 +2719,8 @@ public void testRekeningoverzicht07() assertThat(transaction.getSource(), is("Rekeningoverzicht07.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(528.85)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(755.49)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(528.85)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(755.49)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(226.64)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -2718,10 +2740,8 @@ public void testRekeningoverzicht07() assertThat(transaction.getSource(), is("Rekeningoverzicht07.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(306.37)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(437.68)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(306.37)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(437.68)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(131.31)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -2741,10 +2761,8 @@ public void testRekeningoverzicht07() assertThat(transaction.getSource(), is("Rekeningoverzicht07.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(253.97)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(362.83)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(253.97)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(362.83)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(108.86)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -2764,10 +2782,8 @@ public void testRekeningoverzicht07() assertThat(transaction.getSource(), is("Rekeningoverzicht07.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(266.98)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(381.41)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(266.98)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(381.41)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(114.43)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -2787,10 +2803,8 @@ public void testRekeningoverzicht07() assertThat(transaction.getSource(), is("Rekeningoverzicht07.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(497.42)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(710.59)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(497.42)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(710.59)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(213.17)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -2810,10 +2824,8 @@ public void testRekeningoverzicht07() assertThat(transaction.getSource(), is("Rekeningoverzicht07.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(239.54)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(342.21)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(239.54)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(342.21)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(102.67)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -2833,10 +2845,8 @@ public void testRekeningoverzicht07() assertThat(transaction.getSource(), is("Rekeningoverzicht07.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(81.33)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(116.20)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(81.33)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(116.20)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(34.87)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -2856,10 +2866,8 @@ public void testRekeningoverzicht07() assertThat(transaction.getSource(), is("Rekeningoverzicht07.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(343.98)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(404.69)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(343.98)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(404.69)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(60.71)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -2879,10 +2887,8 @@ public void testRekeningoverzicht07() assertThat(transaction.getSource(), is("Rekeningoverzicht07.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(898.93)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(1057.56)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(898.93)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(1057.56)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(158.63)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -2902,10 +2908,8 @@ public void testRekeningoverzicht07() assertThat(transaction.getSource(), is("Rekeningoverzicht07.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(284.73)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(334.97)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(284.73)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(334.97)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(50.24)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -2925,10 +2929,8 @@ public void testRekeningoverzicht07() assertThat(transaction.getSource(), is("Rekeningoverzicht07.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(329.06)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(387.14)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(329.06)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(387.14)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(58.08)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -2948,10 +2950,8 @@ public void testRekeningoverzicht07() assertThat(transaction.getSource(), is("Rekeningoverzicht07.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(280.28)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(280.28)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(280.28)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(280.28)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -2971,10 +2971,8 @@ public void testRekeningoverzicht07() assertThat(transaction.getSource(), is("Rekeningoverzicht07.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(315.33)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(370.97)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(315.33)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(370.97)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(55.64)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -2994,10 +2992,8 @@ public void testRekeningoverzicht07() assertThat(transaction.getSource(), is("Rekeningoverzicht07.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(467.31)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(549.78)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(467.31)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(549.78)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(82.47)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -3017,10 +3013,8 @@ public void testRekeningoverzicht07() assertThat(transaction.getSource(), is("Rekeningoverzicht07.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(151.09)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(151.09)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(151.09)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(151.09)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -3040,10 +3034,8 @@ public void testRekeningoverzicht07() assertThat(transaction.getSource(), is("Rekeningoverzicht07.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(317.39)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(373.39)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(317.39)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(373.39)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(56.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -3063,10 +3055,8 @@ public void testRekeningoverzicht07() assertThat(transaction.getSource(), is("Rekeningoverzicht07.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(143.04)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(168.29)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(143.04)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(168.29)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(25.25)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -3253,6 +3243,7 @@ public void testRekeningoverzicht07() public void testAccountStatement01() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3364,6 +3355,7 @@ public void testAccountStatement01() public void testTransaktionsuebersicht01() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3481,6 +3473,7 @@ public void testTransaktionsuebersicht01() public void testTransaktionsuebersicht02() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3560,6 +3553,7 @@ public void testTransaktionsuebersicht02() public void testTransaktionsuebersicht03() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3653,6 +3647,7 @@ public void testTransaktionsuebersicht03() public void testTransaktionsuebersicht04() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3719,6 +3714,7 @@ public void testTransaktionsuebersicht04() public void testTransaktionsuebersicht05() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3830,6 +3826,7 @@ public void testTransaktionsuebersicht05() public void testTransaktionsuebersicht06() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3919,7 +3916,7 @@ public void testTransaktionsuebersicht06() @Test public void testTransaktionsuebersicht07() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3984,6 +3981,7 @@ public void testTransaktionsuebersicht07() public void testTransaktionsuebersicht08() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4051,6 +4049,7 @@ public void testTransaktionsuebersicht08() public void testTransaktionsuebersicht09() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4152,6 +4151,7 @@ public void testTransaktionsuebersicht09() public void testTransaktionsuebersicht10() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4258,7 +4258,7 @@ public void testTransaktionsuebersicht10() @Test public void testTransaktionsuebersicht11() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4299,7 +4299,7 @@ public void testTransaktionsuebersicht11() @Test public void testTransaktionsuebersicht12() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4460,7 +4460,7 @@ public void testTransaktionsuebersicht12() @Test public void testTransaktionsuebersicht13() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4523,7 +4523,7 @@ public void testTransaktionsuebersicht13() @Test public void testTransaktionsuebersicht14() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4564,7 +4564,7 @@ public void testTransaktionsuebersicht14() @Test public void testTransaktionsuebersicht15() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4624,7 +4624,7 @@ public void testTransaktionsuebersicht15() @Test public void testTransaktionsuebersicht16() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4709,7 +4709,7 @@ public void testTransaktionsuebersicht16() @Test public void testTransaktionsuebersicht17() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4848,7 +4848,7 @@ public void testTransaktionsuebersicht17() @Test public void testTransaktionsuebersicht18() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4914,7 +4914,7 @@ public void testTransaktionsuebersicht18() @Test public void testTransaktionsuebersicht19() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5238,7 +5238,7 @@ public void testTransaktionsuebersicht19() @Test public void testTransaktionsuebersicht20() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5565,7 +5565,7 @@ public void testTransaktionsuebersicht20() @Test public void testTransacties01() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5655,7 +5655,7 @@ public void testTransacties01() @Test public void testTransacciones01() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5753,7 +5753,7 @@ public void testTransacciones01() @Test public void testTransacciones02() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5815,7 +5815,7 @@ public void testTransacciones02() @Test public void testTransacciones03() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5972,7 +5972,7 @@ public void testTransacciones03() @Test public void testTransacciones04() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6016,7 +6016,7 @@ public void testTransacciones04() @Test public void testTransactions_english01() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6235,7 +6235,7 @@ public void testTransactions_english01() @Test public void testTransakcje01() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6319,7 +6319,7 @@ public void testTransakcje01() @Test public void testTransakcje02() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6447,7 +6447,7 @@ public void testTransakcje02() @Test public void testTransakcje03() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6543,7 +6543,7 @@ public void testTransakcje03() @Test public void testEstrattoConto01() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6613,7 +6613,7 @@ public void testEstrattoConto01() @Test public void testEstrattoConto02() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7156,7 +7156,7 @@ public void testEstrattoConto03() Client client = new Client(); client.addSecurity(security); - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7193,7 +7193,7 @@ public void testEstrattoConto03() @Test public void testOperazioni01() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7256,7 +7256,7 @@ public void testOperazioni01() @Test public void testDividende01() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7295,7 +7295,7 @@ public void testDividende01() @Test public void testTransactions_french01() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7341,7 +7341,7 @@ public void testTransactions_french01() @Test public void testTransactions_french02() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7419,7 +7419,7 @@ public void testTransactions_french02() @Test public void testTransakce01() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7492,7 +7492,7 @@ public void testTransakce01() @Test public void testEstadoDeCuenta01() { - DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7778,10 +7778,8 @@ public void testEstadoDeCuenta01() assertThat(transaction.getSource(), is("EstadoDeCuenta01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(257.34)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(317.70)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(257.34)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(317.70)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(60.36)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -7798,10 +7796,8 @@ public void testEstadoDeCuenta01() assertThat(transaction.getSource(), is("EstadoDeCuenta01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(257.34)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(317.70)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(257.34)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(317.70)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(60.36)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -7818,10 +7814,8 @@ public void testEstadoDeCuenta01() assertThat(transaction.getSource(), is("EstadoDeCuenta01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(141.54)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(174.74)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(141.54)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(174.74)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(33.20)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -7838,10 +7832,8 @@ public void testEstadoDeCuenta01() assertThat(transaction.getSource(), is("EstadoDeCuenta01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(9.13)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(10.74)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(9.13)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(10.74)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(1.61)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -7861,10 +7853,8 @@ public void testEstadoDeCuenta01() assertThat(transaction.getSource(), is("EstadoDeCuenta01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(8.58)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(10.10)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(8.58)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(10.10)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(1.52)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -7884,10 +7874,8 @@ public void testEstadoDeCuenta01() assertThat(transaction.getSource(), is("EstadoDeCuenta01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(26.99)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(31.75)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(26.99)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(31.75)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.76)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -7907,10 +7895,8 @@ public void testEstadoDeCuenta01() assertThat(transaction.getSource(), is("EstadoDeCuenta01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(6.33)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(7.45)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(6.33)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(7.45)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(1.12)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -7930,10 +7916,8 @@ public void testEstadoDeCuenta01() assertThat(transaction.getSource(), is("EstadoDeCuenta01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(57.45)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(67.59)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(57.45)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(67.59)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(10.14)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -7953,10 +7937,8 @@ public void testEstadoDeCuenta01() assertThat(transaction.getSource(), is("EstadoDeCuenta01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(8.68)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(10.22)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(8.68)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(10.22)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(1.54)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -7976,10 +7958,8 @@ public void testEstadoDeCuenta01() assertThat(transaction.getSource(), is("EstadoDeCuenta01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(8.26)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(9.72)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(8.26)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(9.72)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(1.46)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -7999,10 +7979,8 @@ public void testEstadoDeCuenta01() assertThat(transaction.getSource(), is("EstadoDeCuenta01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(21.21)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(21.21)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(21.21)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(21.21)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -8022,10 +8000,8 @@ public void testEstadoDeCuenta01() assertThat(transaction.getSource(), is("EstadoDeCuenta01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(267.05)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(329.69)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(267.05)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(329.69)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(62.64)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -8108,6 +8084,7 @@ public void testEstadoDeCuenta01() public void testPrehleductu01() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8239,10 +8216,8 @@ public void testPrehleductu01() assertThat(transaction.getSource(), is("Prehleductu01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(33.27)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(33.27)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(33.27)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(33.27)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -8262,10 +8237,8 @@ public void testPrehleductu01() assertThat(transaction.getSource(), is("Prehleductu01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.61)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.61)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.61)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.61)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -8285,10 +8258,8 @@ public void testPrehleductu01() assertThat(transaction.getSource(), is("Prehleductu01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(36.78)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(36.78)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(36.78)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(36.78)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -8308,10 +8279,8 @@ public void testPrehleductu01() assertThat(transaction.getSource(), is("Prehleductu01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(5.10)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(5.10)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(5.10)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(5.10)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -8331,10 +8300,8 @@ public void testPrehleductu01() assertThat(transaction.getSource(), is("Prehleductu01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(33.33)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(33.33)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(33.33)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(33.33)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -8354,10 +8321,8 @@ public void testPrehleductu01() assertThat(transaction.getSource(), is("Prehleductu01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.62)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.62)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.62)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.62)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -8377,10 +8342,8 @@ public void testPrehleductu01() assertThat(transaction.getSource(), is("Prehleductu01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(31.85)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(31.85)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(31.85)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(31.85)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -8400,10 +8363,8 @@ public void testPrehleductu01() assertThat(transaction.getSource(), is("Prehleductu01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.41)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.41)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.41)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.41)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -8423,10 +8384,8 @@ public void testPrehleductu01() assertThat(transaction.getSource(), is("Prehleductu01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(28.09)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(28.09)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(28.09)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(28.09)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -8446,10 +8405,8 @@ public void testPrehleductu01() assertThat(transaction.getSource(), is("Prehleductu01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(3.98)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(3.98)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(3.98)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(3.98)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -8469,10 +8426,8 @@ public void testPrehleductu01() assertThat(transaction.getSource(), is("Prehleductu01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(25.79)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(25.79)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(25.79)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(25.79)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -8492,10 +8447,8 @@ public void testPrehleductu01() assertThat(transaction.getSource(), is("Prehleductu01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.19)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.19)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.19)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.19)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -8515,10 +8468,8 @@ public void testPrehleductu01() assertThat(transaction.getSource(), is("Prehleductu01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(9.74)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(9.74)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(9.74)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(9.74)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -8538,10 +8489,8 @@ public void testPrehleductu01() assertThat(transaction.getSource(), is("Prehleductu01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(3.63)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(3.63)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(3.63)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(3.63)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -8561,10 +8510,8 @@ public void testPrehleductu01() assertThat(transaction.getSource(), is("Prehleductu01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(3.86)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(3.86)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(3.86)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(3.86)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -8584,10 +8531,8 @@ public void testPrehleductu01() assertThat(transaction.getSource(), is("Prehleductu01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(3.32)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(3.32)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(3.32)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(3.32)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -8607,10 +8552,8 @@ public void testPrehleductu01() assertThat(transaction.getSource(), is("Prehleductu01.txt")); assertNull(transaction.getNote()); - assertThat(transaction.getMonetaryAmount(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.04)))); - assertThat(transaction.getGrossValue(), - is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.04)))); + assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.04)))); + assertThat(transaction.getGrossValue(), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(4.04)))); assertThat(transaction.getUnitSum(Unit.Type.TAX), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); assertThat(transaction.getUnitSum(Unit.Type.FEE), @@ -8788,6 +8731,7 @@ public void testPrehleductu01() public void testTransacoes01() { DegiroPDFExtractor extractor = new DegiroPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8856,5 +8800,5 @@ public void testTransacoes01() assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), is(Money.of(CurrencyUnit.EUR, Values.Amount.factorize(0.00)))); } - + } diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dekabank/DekaBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dekabank/DekaBankPDFExtractorTest.java index 21a2aba3c7..f446eceb54 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dekabank/DekaBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dekabank/DekaBankPDFExtractorTest.java @@ -46,6 +46,7 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.DekaBankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Client; @@ -59,10 +60,13 @@ @SuppressWarnings("nls") public class DekaBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testTagesauszug01() { var extractor = new DekaBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1159,6 +1163,7 @@ public void testTagesauszug06WithSecurityInUSD() client.addSecurity(security5); var extractor = new DekaBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/deutschebank/DeutscheBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/deutschebank/DeutscheBankPDFExtractorTest.java index cc4c2a8e75..126f2cd5d7 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/deutschebank/DeutscheBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/deutschebank/DeutscheBankPDFExtractorTest.java @@ -49,6 +49,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.DeutscheBankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -62,10 +63,13 @@ @SuppressWarnings("nls") public class DeutscheBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testDividende01() { var extractor = new DeutscheBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -107,6 +111,7 @@ public void testDividende01WithSecurityInEUR() client.addSecurity(security); var extractor = new DeutscheBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/directasim/DirectaSimPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/directasim/DirectaSimPDFExtractorTest.java index 79b9abdba8..263fcc2360 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/directasim/DirectaSimPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/directasim/DirectaSimPDFExtractorTest.java @@ -39,6 +39,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.DirectaSimPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Portfolio; import name.abuchen.portfolio.model.PortfolioTransaction; @@ -47,10 +48,13 @@ @SuppressWarnings("nls") public class DirectaSimPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testSecurityBuy01() { var extractor = new DirectaSimPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -196,6 +200,7 @@ public void testSecurityBuy04WithSecurityInEUR() client.addSecurity(security); var extractor = new DirectaSimPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/direkt1822bank/Direkt1822BankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/direkt1822bank/Direkt1822BankPDFExtractorTest.java index 388d4395f9..e1518abe01 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/direkt1822bank/Direkt1822BankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/direkt1822bank/Direkt1822BankPDFExtractorTest.java @@ -52,6 +52,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.Direkt1822BankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -65,10 +66,13 @@ @SuppressWarnings("nls") public class Direkt1822BankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new Direkt1822BankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -230,6 +234,7 @@ public void testWertpapierKauf03WithSecurityInEUR() client.addSecurity(security); var extractor = new Direkt1822BankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dkb/DkbPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dkb/DkbPDFExtractorTest.java index d7d5895cfe..13fdf253eb 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dkb/DkbPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dkb/DkbPDFExtractorTest.java @@ -53,6 +53,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.DkbPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -66,10 +67,13 @@ @SuppressWarnings("nls") public class DkbPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new DkbPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -481,6 +485,7 @@ public void testWertpapierKauf08WithSecurityInEUR() client.addSecurity(security); var extractor = new DkbPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dreibankenedv/DreiBankenEDVPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dreibankenedv/DreiBankenEDVPDFExtractorTest.java index d8ecf5c390..994f6f4760 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dreibankenedv/DreiBankenEDVPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dreibankenedv/DreiBankenEDVPDFExtractorTest.java @@ -25,6 +25,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.DreiBankenEDVPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -38,10 +39,13 @@ @SuppressWarnings("nls") public class DreiBankenEDVPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new DreiBankenEDVPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -291,6 +295,7 @@ public void testDividende03WithSecurityInEUR() client.addSecurity(security); var extractor = new DreiBankenEDVPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dzbankgruppe/DZBankGruppePDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dzbankgruppe/DZBankGruppePDFExtractorTest.java index cfb180d487..73446ece46 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dzbankgruppe/DZBankGruppePDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/dzbankgruppe/DZBankGruppePDFExtractorTest.java @@ -42,6 +42,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.DZBankGruppePDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -55,10 +56,13 @@ @SuppressWarnings("nls") public class DZBankGruppePDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new DZBankGruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -747,6 +751,7 @@ public void testDividende01WithSecurityinEUR() client.addSecurity(security); var extractor = new DZBankGruppePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/easybankag/EasyBankAGPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/easybankag/EasyBankAGPDFExtractorTest.java index 26a0e12b8a..0f4dcc5425 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/easybankag/EasyBankAGPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/easybankag/EasyBankAGPDFExtractorTest.java @@ -50,6 +50,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.EasyBankAGPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -63,10 +64,13 @@ @SuppressWarnings("nls") public class EasyBankAGPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new EasyBankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2251,6 +2255,7 @@ public void testDividende03WithSecurityinEUR() client.addSecurity(security); var extractor = new EasyBankAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ebase/EbasePDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ebase/EbasePDFExtractorTest.java index 7a72877924..463a1a969d 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ebase/EbasePDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ebase/EbasePDFExtractorTest.java @@ -47,6 +47,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.EbasePDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -61,10 +62,13 @@ @SuppressWarnings("nls") public class EbasePDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testDividende01() { var extractor = new EbasePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -104,6 +108,7 @@ public void testDividende01WithSecurityInEUR() client.addSecurity(security); var extractor = new EbasePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/erstebank/ErsteBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/erstebank/ErsteBankPDFExtractorTest.java index 0da3f5d134..586d1fd3a8 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/erstebank/ErsteBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/erstebank/ErsteBankPDFExtractorTest.java @@ -46,6 +46,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.ErsteBankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -59,10 +60,13 @@ @SuppressWarnings("nls") public class ErsteBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -113,6 +117,7 @@ public void testWertpapierKauf01() public void testWertpapierKauf02() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -163,6 +168,7 @@ public void testWertpapierKauf02() public void testWertpapierKauf03() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -213,6 +219,7 @@ public void testWertpapierKauf03() public void testWertpapierKauf04() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -263,6 +270,7 @@ public void testWertpapierKauf04() public void testWertpapierKauf05() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -313,6 +321,7 @@ public void testWertpapierKauf05() public void testWertpapierKauf06() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -363,6 +372,7 @@ public void testWertpapierKauf06() public void testWertpapierKauf07() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -413,6 +423,7 @@ public void testWertpapierKauf07() public void testWertpapierKauf08() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -463,6 +474,7 @@ public void testWertpapierKauf08() public void testWertpapierKauf09() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -523,6 +535,7 @@ public void testWertpapierKauf09WithSecurityInEUR() client.addSecurity(security); var extractor = new ErsteBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -570,6 +583,7 @@ public void testWertpapierKauf09WithSecurityInEUR() public void testWertpapierKauf10() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -630,6 +644,7 @@ public void testWertpapierKauf10WithSecurityInEUR() client.addSecurity(security); var extractor = new ErsteBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -677,6 +692,7 @@ public void testWertpapierKauf10WithSecurityInEUR() public void testWertpapierKauf11() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -737,6 +753,7 @@ public void testWertpapierKauf11WithSecurityInEUR() client.addSecurity(security); var extractor = new ErsteBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -784,6 +801,7 @@ public void testWertpapierKauf11WithSecurityInEUR() public void testWertpapierKauf12() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -834,6 +852,7 @@ public void testWertpapierKauf12() public void testWertpapierKauf13() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -884,6 +903,7 @@ public void testWertpapierKauf13() public void testWertpapierKauf14() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -944,6 +964,7 @@ public void testWertpapierKauf14WithSecurityInEUR() client.addSecurity(security); var extractor = new ErsteBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -991,6 +1012,7 @@ public void testWertpapierKauf14WithSecurityInEUR() public void testWertpapierKauf15() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1041,6 +1063,7 @@ public void testWertpapierKauf15() public void testWertpapierKauf16() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1083,6 +1106,7 @@ public void testWertpapierKauf16() public void testWertpapierKauf17() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1117,6 +1141,7 @@ public void testWertpapierKauf17() public void testWertpapierKauf18() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1151,6 +1176,7 @@ public void testWertpapierKauf18() public void testWertpapierVerkauf01() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1201,6 +1227,7 @@ public void testWertpapierVerkauf01() public void testWertpapierVerkauf02() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1251,6 +1278,7 @@ public void testWertpapierVerkauf02() public void testWertpapierVerkauf03() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1301,6 +1329,7 @@ public void testWertpapierVerkauf03() public void testWertpapierVerkauf04() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1351,6 +1380,7 @@ public void testWertpapierVerkauf04() public void testWertpapierVerkauf05() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1401,6 +1431,7 @@ public void testWertpapierVerkauf05() public void testWertpapierVerkauf06() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1451,6 +1482,7 @@ public void testWertpapierVerkauf06() public void testWertpapierVerkauf07() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1511,6 +1543,7 @@ public void testWertpapierVerkauf07WithSecurityInEUR() client.addSecurity(security); var extractor = new ErsteBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1558,6 +1591,7 @@ public void testWertpapierVerkauf07WithSecurityInEUR() public void testWertpapierVerkauf08() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1607,6 +1641,7 @@ public void testWertpapierVerkauf08() public void testWertpapierVerkauf09() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1657,6 +1692,7 @@ public void testWertpapierVerkauf09() public void testWertpapierVerkauf10() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1707,6 +1743,7 @@ public void testWertpapierVerkauf10() public void testWertpapierVerkauf11() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1757,6 +1794,7 @@ public void testWertpapierVerkauf11() public void testWertpapierVerkauf12() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1807,6 +1845,7 @@ public void testWertpapierVerkauf12() public void testWertpapierVerkauf13() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1857,6 +1896,7 @@ public void testWertpapierVerkauf13() public void testWertpapierVerkauf14() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1906,6 +1946,7 @@ public void testWertpapierVerkauf14() public void testSammelabrechnungKaufVerkauf01() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1986,6 +2027,7 @@ public void testSammelabrechnungKaufVerkauf01() public void testDividende01() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2041,6 +2083,7 @@ public void testDividende01WithSecurityInEUR() client.addSecurity(security); var extractor = new ErsteBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2084,6 +2127,7 @@ public void testDividende01WithSecurityInEUR() public void testDividende02() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2129,6 +2173,7 @@ public void testDividende02() public void testDividende03() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2174,6 +2219,7 @@ public void testDividende03() public void testDividende04() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2228,6 +2274,7 @@ public void testDividende04WithSecurityInEUR() client.addSecurity(security); var extractor = new ErsteBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2270,6 +2317,7 @@ public void testDividende04WithSecurityInEUR() public void testDividende05() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2315,6 +2363,7 @@ public void testDividende05() public void testDividende06() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2360,6 +2409,7 @@ public void testDividende06() public void testDividende07() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2405,6 +2455,7 @@ public void testDividende07() public void testDividende08() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2450,6 +2501,7 @@ public void testDividende08() public void testDividende09() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2496,6 +2548,7 @@ public void testDividende09() public void testDividende10() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2550,6 +2603,7 @@ public void testDividende10WithSecurityInEUR() client.addSecurity(security); var extractor = new ErsteBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2592,6 +2646,7 @@ public void testDividende10WithSecurityInEUR() public void testDividende11() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2637,6 +2692,7 @@ public void testDividende11() public void testDividende12() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2682,6 +2738,7 @@ public void testDividende12() public void testDividende13() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2727,6 +2784,7 @@ public void testDividende13() public void testDividende14() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2772,6 +2830,7 @@ public void testDividende14() public void testDividende15() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2817,6 +2876,7 @@ public void testDividende15() public void testDividende16() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2851,6 +2911,7 @@ public void testDividende16() public void testDividende17() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2892,6 +2953,7 @@ public void testDividende17WithSecurityInEUR() client.addSecurity(security); var extractor = new ErsteBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2927,6 +2989,7 @@ public void testDividende17WithSecurityInEUR() public void testDividende18() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2968,6 +3031,7 @@ public void testDividende18WithSecurityInEUR() client.addSecurity(security); var extractor = new ErsteBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3003,6 +3067,7 @@ public void testDividende18WithSecurityInEUR() public void testDividende19() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3037,6 +3102,7 @@ public void testDividende19() public void testDividende20() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3071,6 +3137,7 @@ public void testDividende20() public void testDividende21() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3105,6 +3172,7 @@ public void testDividende21() public void testDividende22() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3139,6 +3207,7 @@ public void testDividende22() public void testDividende23() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3173,6 +3242,7 @@ public void testDividende23() public void testVerlustbescheinigung01() { var extractor = new ErsteBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/estateguru/EstateGuruPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/estateguru/EstateGuruPDFExtractorTest.java index 293ef75cc1..dd8f9a82d4 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/estateguru/EstateGuruPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/estateguru/EstateGuruPDFExtractorTest.java @@ -27,15 +27,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.EstateGuruPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class EstateGuruPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKontoauszug01() { var extractor = new EstateGuruPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -68,6 +72,7 @@ public void testKontoauszug01() public void testKontoauszug02() { var extractor = new EstateGuruPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -104,6 +109,7 @@ public void testKontoauszug02() public void testKontoauszug03() { var extractor = new EstateGuruPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -156,6 +162,7 @@ public void testKontoauszug03() public void testKontoauszug04() { var extractor = new EstateGuruPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -248,6 +255,7 @@ public void testKontoauszug04() public void testKontoauszug05() { var extractor = new EstateGuruPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -280,6 +288,7 @@ public void testKontoauszug05() public void testKontoauszug06() { var extractor = new EstateGuruPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -368,6 +377,7 @@ public void testKontoauszug06() public void testKontoauszug07() { var extractor = new EstateGuruPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/etrade/ETradePDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/etrade/ETradePDFExtractorTest.java index 72100b2d5c..499609223a 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/etrade/ETradePDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/etrade/ETradePDFExtractorTest.java @@ -34,15 +34,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.ETradePDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class ETradePDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testSecurityBuy01() { var extractor = new ETradePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/fidelityinternational/FidelityInternationalPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/fidelityinternational/FidelityInternationalPDFExtractorTest.java index caa4eaed6a..81837cf2ec 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/fidelityinternational/FidelityInternationalPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/fidelityinternational/FidelityInternationalPDFExtractorTest.java @@ -35,15 +35,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.FidelityInternationalPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class FidelityInternationalPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testSecurityBuy01() { var extractor = new FidelityInternationalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -78,6 +82,7 @@ public void testSecurityBuy01() public void testSecuritySale01() { var extractor = new FidelityInternationalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -112,6 +117,7 @@ public void testSecuritySale01() public void testSecuritySale02() { var extractor = new FidelityInternationalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -146,6 +152,7 @@ public void testSecuritySale02() public void testTradeConfirmation01() { var extractor = new FidelityInternationalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -233,6 +240,7 @@ public void testTradeConfirmation02() { var extractor = new FidelityInternationalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/filfondbank/FILFondbankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/filfondbank/FILFondbankPDFExtractorTest.java index c685d41b15..da9c3ec128 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/filfondbank/FILFondbankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/filfondbank/FILFondbankPDFExtractorTest.java @@ -45,6 +45,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.FILFondbankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -59,10 +60,13 @@ @SuppressWarnings("nls") public class FILFondbankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new FILFondbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -105,6 +109,7 @@ public void testWertpapierKauf01WithSecurityInEUR() client.addSecurity(security); var extractor = new FILFondbankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/findependentag/FindependentAGPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/findependentag/FindependentAGPDFExtractorTest.java index f26c92186e..0ed64d5f46 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/findependentag/FindependentAGPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/findependentag/FindependentAGPDFExtractorTest.java @@ -43,6 +43,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.FindependentAGPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Portfolio; import name.abuchen.portfolio.model.PortfolioTransaction; @@ -51,10 +52,13 @@ @SuppressWarnings("nls") public class FindependentAGPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new FindependentAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -89,6 +93,7 @@ public void testWertpapierKauf01() public void testWertpapierKauf02() { var extractor = new FindependentAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -130,6 +135,7 @@ public void testWertpapierKauf02WithSecurityInCHF() client.addSecurity(security); var extractor = new FindependentAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -163,6 +169,7 @@ public void testWertpapierKauf02WithSecurityInCHF() public void testWertpapierKauf03() { var extractor = new FindependentAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -204,6 +211,7 @@ public void testWertpapierKauf03WithSecurityInCHF() client.addSecurity(security); var extractor = new FindependentAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -237,6 +245,7 @@ public void testWertpapierKauf03WithSecurityInCHF() public void testWertpapierKauf04() { var extractor = new FindependentAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -271,6 +280,7 @@ public void testWertpapierKauf04() public void testWertpapierKauf05() { var extractor = new FindependentAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -312,6 +322,7 @@ public void testWertpapierKauf05WithSecurityInCHF() client.addSecurity(security); var extractor = new FindependentAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -345,6 +356,7 @@ public void testWertpapierKauf05WithSecurityInCHF() public void testWertpapierKauf06() { var extractor = new FindependentAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -386,6 +398,7 @@ public void testWertpapierKauf06WithSecurityInCHF() client.addSecurity(security); var extractor = new FindependentAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -419,6 +432,7 @@ public void testWertpapierKauf06WithSecurityInCHF() public void testWertpapierKauf07() { var extractor = new FindependentAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -460,6 +474,7 @@ public void testWertpapierKauf07WithSecurityInCHF() client.addSecurity(security); var extractor = new FindependentAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -493,6 +508,7 @@ public void testWertpapierKauf07WithSecurityInCHF() public void testWertpapierKauf08() { var extractor = new FindependentAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -527,6 +543,7 @@ public void testWertpapierKauf08() public void testWertpapierKauf09() { var extractor = new FindependentAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -561,6 +578,7 @@ public void testWertpapierKauf09() public void testWertpapierKauf10() { var extractor = new FindependentAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -602,6 +620,7 @@ public void testWertpapierKauf10WithSecurityInCHF() client.addSecurity(security); var extractor = new FindependentAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -635,6 +654,7 @@ public void testWertpapierKauf10WithSecurityInCHF() public void testWertpapierKauf11() { var extractor = new FindependentAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -669,6 +689,7 @@ public void testWertpapierKauf11() public void testWertpapierVerkauf01() { var extractor = new FindependentAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -703,6 +724,7 @@ public void testWertpapierVerkauf01() public void testDividende01() { var extractor = new FindependentAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -737,6 +759,7 @@ public void testDividende01() public void testDividende02() { var extractor = new FindependentAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -771,6 +794,7 @@ public void testDividende02() public void testEinzahlung01() { var extractor = new FindependentAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -795,6 +819,7 @@ public void testEinzahlung01() public void testEinzahlung02() { var extractor = new FindependentAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -819,6 +844,7 @@ public void testEinzahlung02() public void testEinzahlung03() { var extractor = new FindependentAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -843,6 +869,7 @@ public void testEinzahlung03() public void testDepotgebuehren01() { var extractor = new FindependentAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -867,6 +894,7 @@ public void testDepotgebuehren01() public void testVerwaltungsgebuehren01() { var extractor = new FindependentAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -892,6 +920,7 @@ public void testVerwaltungsgebuehren01() public void testGebuehrenerstattung01() { var extractor = new FindependentAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/fintechgroupbank/FinTechGroupBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/fintechgroupbank/FinTechGroupBankPDFExtractorTest.java index dafad15279..e434e584ae 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/fintechgroupbank/FinTechGroupBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/fintechgroupbank/FinTechGroupBankPDFExtractorTest.java @@ -45,6 +45,7 @@ import java.util.ArrayList; import java.util.List; +import org.junit.Before; import org.junit.Test; import name.abuchen.portfolio.Messages; @@ -57,6 +58,7 @@ import name.abuchen.portfolio.datatransfer.pdf.FinTechGroupBankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.TestCoinSearchProvider; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -73,6 +75,8 @@ @SuppressWarnings("nls") public class FinTechGroupBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + FinTechGroupBankPDFExtractor extractor = new FinTechGroupBankPDFExtractor(new Client()) { @Override @@ -82,10 +86,17 @@ protected List lookupCryptoProvider() } }; + @Before + public void init() + { + extractor.setNegativeValue(negativeValue); + } + @Test public void testFinTechSammelabrechnung01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -194,6 +205,7 @@ public void testFinTechSammelabrechnung01() public void testFinTechSammelabrechnung02() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -433,6 +445,7 @@ public void testFinTechSammelabrechnung02() public void testFinTechSammelabrechnung03() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -482,6 +495,7 @@ public void testFinTechSammelabrechnung03() public void testFinTechSammelabrechnung04() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -532,6 +546,7 @@ public void testFinTechSammelabrechnung04() public void testFinTechSammelabrechnung05() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -661,6 +676,7 @@ public void testFinTechSammelabrechnung05() public void testFinTechSammelabrechnung06() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -727,6 +743,7 @@ public void testFinTechSammelabrechnung06() public void testFinTechSammelabrechnung07() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -797,6 +814,7 @@ public void testFinTechSammelabrechnung07() public void testbiwAGKauf01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -847,6 +865,7 @@ public void testbiwAGKauf01() public void testbiwAGKauf02() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -897,6 +916,7 @@ public void testbiwAGKauf02() public void testbiwAGWertpapierEingang01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -942,6 +962,7 @@ public void testbiwAGWertpapierEingang01() public void testbiwAGWertpapierAusgang01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -998,6 +1019,7 @@ public void testbiwAGWertpapierAusgang01() public void testbiwAGKontoauszug01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1042,6 +1064,7 @@ public void testbiwAGKontoauszug01() public void testbiwAGKontoauszug02() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1066,6 +1089,7 @@ public void testbiwAGKontoauszug02() public void testbiwAGKontoauszug03() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1114,6 +1138,7 @@ public void testbiwAGKontoauszug03() public void testFinTechKauf01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1164,6 +1189,7 @@ public void testFinTechKauf01() public void testFinTechKauf02() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1214,6 +1240,7 @@ public void testFinTechKauf02() public void testFinTechKauf03() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1264,6 +1291,7 @@ public void testFinTechKauf03() public void testFinTechKauf04() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1314,6 +1342,7 @@ public void testFinTechKauf04() public void testFinTechKauf05() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1363,6 +1392,7 @@ public void testFinTechKauf05() public void testFinTechKauf06() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1413,6 +1443,7 @@ public void testFinTechKauf06() public void testFinTechKauf07() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1463,6 +1494,7 @@ public void testFinTechKauf07() public void testFinTechKauf08() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1513,6 +1545,7 @@ public void testFinTechKauf08() public void testFinTechKauf09() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1563,6 +1596,7 @@ public void testFinTechKauf09() public void testFinTechKauf10() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1629,6 +1663,7 @@ public void testFinTechKauf10() public void testFinTechKaufStorno01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1667,6 +1702,7 @@ public void testFinTechKaufStorno01() public void testFinTechVerkauf01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1717,6 +1753,7 @@ public void testFinTechVerkauf01() public void testFinTechVerkauf02() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1767,6 +1804,7 @@ public void testFinTechVerkauf02() public void testFinTechVerkauf03() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1816,6 +1854,7 @@ public void testFinTechVerkauf03() public void testFinTechVerkauf04() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1866,6 +1905,7 @@ public void testFinTechVerkauf04() public void testFinTechDividende01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1911,6 +1951,7 @@ public void testFinTechDividende01() public void testFinTechDividende02() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1956,6 +1997,7 @@ public void testFinTechDividende02() public void testFinTechDividende03() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2001,6 +2043,7 @@ public void testFinTechDividende03() public void testFinTechDividende04() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2057,6 +2100,7 @@ public void testFinTechDividende04WithSecurityInUSD() client.addSecurity(security); var extractor = new FinTechGroupBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2100,6 +2144,7 @@ public void testFinTechDividende04WithSecurityInUSD() public void testFinTechDividende05() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2144,6 +2189,7 @@ public void testFinTechDividende05() public void testFinTechDividende06() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2189,6 +2235,7 @@ public void testFinTechDividende06() public void testFinTechWertpapierAusgang01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2240,6 +2287,7 @@ public void testFinTechWertpapierAusgang01() public void testFinTechWertpapierAusgang02() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2290,6 +2338,7 @@ public void testFinTechWertpapierAusgang02() public void testFinTechWertpapierAusgang03() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2368,6 +2417,7 @@ public void testFinTechWertpapierAusgang03() public void testFinTechWertpapierAusgang04() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2419,6 +2469,7 @@ public void testFinTechWertpapierAusgang04() public void testFinTechWertpapierAusgang05() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2486,6 +2537,7 @@ public void testFinTechWertpapierAusgang05() public void testFinTechWertpapierAusgang06() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2564,6 +2616,7 @@ public void testFinTechWertpapierAusgang06() public void testFinTechWertpapierEingang01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2897,6 +2950,7 @@ public void testFinTechWertpapierEingang01() public void testFinTechKontoauszug01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2965,6 +3019,7 @@ public void testFinTechKontoauszug01() public void testFinTechKontoauszug02() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3003,6 +3058,7 @@ public void testFinTechKontoauszug02() public void testFinTechKontoauszug03() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3105,6 +3161,7 @@ public void testFinTechKontoauszug03() public void testFinTechKontoauszug04() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3183,6 +3240,7 @@ public void testFinTechKontoauszug04() public void testFinTechKontoauszug05() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3220,6 +3278,7 @@ public void testFinTechKontoauszug05() public void testFinTechKontoauszug06() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3280,6 +3339,7 @@ public void testFinTechKontoauszug06() public void testFlatExKauf01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3330,6 +3390,7 @@ public void testFlatExKauf01() public void testFlatExKauf02() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3380,6 +3441,7 @@ public void testFlatExKauf02() public void testFlatExVerkauf01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3430,6 +3492,7 @@ public void testFlatExVerkauf01() public void testFlatExVerkauf02() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3480,6 +3543,7 @@ public void testFlatExVerkauf02() public void testFlatExVerkauf03() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3546,6 +3610,7 @@ public void testFlatExVerkauf03() public void testFlatExVerkauf04() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3595,6 +3660,7 @@ public void testFlatExVerkauf04() public void testFlatExVorabpauschale01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3640,6 +3706,7 @@ public void testFlatExVorabpauschale01() public void testFlatExVorabpauschale02() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3693,6 +3760,7 @@ public void testFlatExVorabpauschale02() public void testFlatExDividende01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3738,6 +3806,7 @@ public void testFlatExDividende01() public void testFlatExDividende02() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3794,6 +3863,7 @@ public void testFlatExDividende02WithSecurityInEUR() client.addSecurity(security); var extractor = new FinTechGroupBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3837,6 +3907,7 @@ public void testFlatExDividende02WithSecurityInEUR() public void testFlatExDividende03() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3892,6 +3963,7 @@ public void testFlatExDividende03WithSecurityInEUR() client.addSecurity(security); var extractor = new FinTechGroupBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3934,6 +4006,7 @@ public void testFlatExDividende03WithSecurityInEUR() public void testFlatExDividende04() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3990,6 +4063,7 @@ public void testFlatExDividende04WithSecurityInEUR() client.addSecurity(security); var extractor = new FinTechGroupBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4033,6 +4107,7 @@ public void testFlatExDividende04WithSecurityInEUR() public void testFlatExDividende05() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4089,6 +4164,7 @@ public void testFlatExDividende05WithSecurityInEUR() client.addSecurity(security); var extractor = new FinTechGroupBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4132,6 +4208,7 @@ public void testFlatExDividende05WithSecurityInEUR() public void testFlatExDividende06() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4183,6 +4260,7 @@ public void testFlatExDividende07WithNegativeAmount() * dividends received and then the tax charge Taxes must be paid. */ var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4228,6 +4306,7 @@ public void testFlatExDividende07WithNegativeAmount() public void testFlatExStockDividende01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4280,6 +4359,7 @@ public void testFlatExStockDividende01() public void testFlatExDegiroKauf01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4330,6 +4410,7 @@ public void testFlatExDegiroKauf01() public void testFlatExDegiroKauf02() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4372,6 +4453,7 @@ public void testFlatExDegiroKauf02WithSecurityInEUR() client.addSecurity(security); var extractor = new FinTechGroupBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4400,6 +4482,7 @@ public void testFlatExDegiroKauf02WithSecurityInEUR() public void testFlatExDegiroKauf03() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4451,6 +4534,7 @@ public void testFlatExDegiroKauf03WithSecurityInEUR() client.addSecurity(security); var extractor = new FinTechGroupBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4487,6 +4571,7 @@ public void testFlatExDegiroKauf03WithSecurityInEUR() public void testFlatExDegiroKauf04() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4521,6 +4606,7 @@ public void testFlatExDegiroKauf04() public void testFlatExDegiroKauf05() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4555,6 +4641,7 @@ public void testFlatExDegiroKauf05() public void testFlatExDegiroKauf06() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4589,6 +4676,7 @@ public void testFlatExDegiroKauf06() public void testFlatExDegiroKauf07() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4623,6 +4711,7 @@ public void testFlatExDegiroKauf07() public void testFlatExDegiroKauf08() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4657,6 +4746,7 @@ public void testFlatExDegiroKauf08() public void testFlatExDegiroKauf09() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4691,6 +4781,7 @@ public void testFlatExDegiroKauf09() public void testFlatExDegiroKauf10() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4725,6 +4816,7 @@ public void testFlatExDegiroKauf10() public void testFlatExDegiroKauf11() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4793,6 +4885,7 @@ public void testCryptoKauf01() public void testFlatExDegiroVerkauf01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4854,6 +4947,7 @@ public void testFlatExDegiroVerkauf01WithSecurityInUSD() client.addSecurity(security); var extractor = new FinTechGroupBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4901,6 +4995,7 @@ public void testFlatExDegiroVerkauf01WithSecurityInUSD() public void testFlatExDegiroVerkauf02() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4943,6 +5038,7 @@ public void testFlatExDegiroVerkauf02() public void testFlatExDegiroVerkauf03() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4977,6 +5073,7 @@ public void testFlatExDegiroVerkauf03() public void testFlatExDegiroVerkauf04() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5027,6 +5124,7 @@ public void testFlatExDegiroVerkauf04() public void testFlatExDegiroVerkauf05() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5061,6 +5159,7 @@ public void testFlatExDegiroVerkauf05() public void testFlatExDegiroVerkauf06() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5103,6 +5202,7 @@ public void testFlatExDegiroVerkauf06() public void testFlatExDegiroVerkauf07() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5137,6 +5237,7 @@ public void testFlatExDegiroVerkauf07() public void testFlatExDegiroVerkauf08() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5171,6 +5272,7 @@ public void testFlatExDegiroVerkauf08() public void testFlatExDegiroVerkauf09() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5296,6 +5398,7 @@ public void testFlatExDegiroDividende01WithNegativeAmount() * dividends received and then the tax charge Taxes must be paid. */ var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5356,6 +5459,7 @@ public void testFlatExDegiroDividende01WithNegativeAmountAndSecurityInEUR() client.addSecurity(security); var extractor = new FinTechGroupBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5398,6 +5502,7 @@ public void testFlatExDegiroDividende01WithNegativeAmountAndSecurityInEUR() public void testFlatExDegiroDividende02WithNegativeAmount() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5469,6 +5574,7 @@ public void testFlatExDegiroDividende02WithNegativeAmountAndSecurityInEUR() client.addSecurity(security); var extractor = new FinTechGroupBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5527,6 +5633,7 @@ public void testFlatExDegiroDividende02WithNegativeAmountAndSecurityInEUR() public void testFlatExDegiroDividende03() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5584,6 +5691,7 @@ public void testFlatExDegiroDividende03WithSecurityInEUR() client.addSecurity(security); var extractor = new FinTechGroupBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5628,6 +5736,7 @@ public void testFlatExDegiroDividende03WithSecurityInEUR() public void testFlatExDegiroDividende04() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5673,6 +5782,7 @@ public void testFlatExDegiroDividende04() public void testFlatExDegiroDividende05() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5715,6 +5825,7 @@ public void testFlatExDegiroDividende05WithSecurityInEUR() client.addSecurity(security); var extractor = new FinTechGroupBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5743,6 +5854,7 @@ public void testFlatExDegiroDividende05WithSecurityInEUR() public void testFlatExDegiroDividende06() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5785,6 +5897,7 @@ public void testFlatExDegiroDividende06WithSecurityInEUR() client.addSecurity(security); var extractor = new FinTechGroupBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5813,6 +5926,7 @@ public void testFlatExDegiroDividende06WithSecurityInEUR() public void testFlatExDegiroDividende07() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5855,6 +5969,7 @@ public void testFlatExDegiroDividende07WithSecurityInEUR() client.addSecurity(security); var extractor = new FinTechGroupBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5883,6 +5998,7 @@ public void testFlatExDegiroDividende07WithSecurityInEUR() public void testFlatExDegiroDividende08() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5916,6 +6032,7 @@ public void testFlatExDegiroDividende08() public void testFlatExDegiroDividende09() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5949,6 +6066,7 @@ public void testFlatExDegiroDividende09() public void testFlatExDegiroDividende10() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5991,6 +6109,7 @@ public void testFlatExDegiroDividende10WithSecurityInEUR() client.addSecurity(security); var extractor = new FinTechGroupBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6019,6 +6138,7 @@ public void testFlatExDegiroDividende10WithSecurityInEUR() public void testFlatExDegiroDividende11() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6055,6 +6175,7 @@ public void testFlatExDegiroDividende11() public void testFlatExDegiroDividende12() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6097,6 +6218,7 @@ public void testFlatExDegiroDividende12WithSecurityInEUR() client.addSecurity(security); var extractor = new FinTechGroupBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6127,6 +6249,7 @@ public void testFlatExDegiroDividende13() // Gross Value is wrong, because we missing fx rate for the german taxes // 2,99 EUR var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6163,6 +6286,7 @@ public void testFlatExDegiroDividende13() public void testFlatExDegiroDividende14() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6197,6 +6321,7 @@ public void testFlatExDegiroDividende14() public void testFlatExDegiroDividendeStorno01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6233,6 +6358,7 @@ public void testFlatExDegiroDividendeStorno01() public void testFlatExDegiroDividendeReinvestGebuehren01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6268,6 +6394,7 @@ public void testFlatExDegiroDividendeReinvestGebuehren01() public void testFlatExDegiroFusion01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6304,6 +6431,7 @@ public void testFlatExDegiroFusion01() public void testFlatExDegiroKapitalerhoehung01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6341,6 +6469,7 @@ public void testFlatExDegiroKapitalerhoehung01() public void testFlatExDegiroKapitalherabsetzung01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6378,6 +6507,7 @@ public void testFlatExDegiroKapitalherabsetzung01() public void testFlatExDegiroWertpapiertausch01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6415,6 +6545,7 @@ public void testFlatExDegiroWertpapiertausch01() public void testFlatExDegiroWertpapiertausch02() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6452,6 +6583,7 @@ public void testFlatExDegiroWertpapiertausch02() public void testFlatExSammelabrechnung01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6502,6 +6634,7 @@ public void testFlatExSammelabrechnung01() public void testFlatExSammelabrechnung02() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6580,6 +6713,7 @@ public void testFlatExSammelabrechnung02WithSecurityInEUR() client.addSecurity(security); var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6642,6 +6776,7 @@ public void testFlatExSammelabrechnung02WithSecurityInEUR() public void testFlatExSammelabrechnung03() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6721,6 +6856,7 @@ public void testFlatExSammelabrechnung03() public void testFlatExKontoauszug01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6775,6 +6911,7 @@ public void testFlatExKontoauszug01() public void testFlatExKontoauszug02() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6929,6 +7066,7 @@ public void testFlatExKontoauszug02() public void testFlatExKontoauszug03() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6983,6 +7121,7 @@ public void testFlatExKontoauszug03() public void testFlatExKontoauszug04() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7027,6 +7166,7 @@ public void testFlatExKontoauszug04() public void testFlatExDegiroKontoauszug01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7193,6 +7333,7 @@ public void testFlatExDegiroKontoauszug01() public void testFlatExDegiroKontoauszug02() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7457,6 +7598,7 @@ public void testFlatExDegiroKontoauszug02() public void testFlatExDegiroKontoauszug03() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7509,6 +7651,7 @@ public void testFlatExDegiroKontoauszug03() public void testFlatExDegiroKontoauszug04() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7536,6 +7679,7 @@ public void testFlatExDegiroKontoauszug04() public void testFlatExDegiroKontoauszug05() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7574,6 +7718,7 @@ public void testFlatExDegiroKontoauszug05() public void testFlatExDegiroKontoauszug06() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7606,6 +7751,7 @@ public void testFlatExDegiroKontoauszug06() public void testFlatExDegiroKontoauszug07() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7634,6 +7780,7 @@ public void testFlatExDegiroKontoauszug07() public void testFlatExDegiroKontoauszug08() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7663,6 +7810,7 @@ public void testFlatExDegiroKontoauszug08() public void testFlatExDegiroKontoauszug09() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7703,6 +7851,7 @@ public void testFlatExDegiroKontoauszug09() public void testFlatExDeGiroSammelabrechnung01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7775,6 +7924,7 @@ public void testFlatExDeGiroSammelabrechnung01() public void testFlatExDeGiroSammelabrechnung02() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7826,6 +7976,7 @@ public void testFlatExDeGiroSammelabrechnung02() public void testFlatExDeGiroSammelabrechnung03() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7892,6 +8043,7 @@ public void testFlatExDeGiroSammelabrechnung03() public void testFlatExDeGiroSammelabrechnung04() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7954,6 +8106,7 @@ public void testFlatExDeGiroSammelabrechnung04WithSecurityInEUR() client.addSecurity(security); var extractor = new FinTechGroupBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8002,6 +8155,7 @@ public void testFlatExDeGiroSammelabrechnung04WithSecurityInEUR() public void testFlatExDeGiroSammelabrechnung05() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8037,6 +8191,7 @@ public void testFlatExDeGiroSammelabrechnung05() public void testFlatExDeGiroSammelabrechnung06() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8083,6 +8238,7 @@ public void testFlatExDeGiroSammelabrechnung06() public void testFlatExDeGiroSammelabrechnung07() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8267,6 +8423,7 @@ public void testFlatExDeGiroSammelabrechnung07() public void testFlatExDeGiroSammelabrechnung08() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8419,6 +8576,7 @@ public void testFlatExDeGiroSammelabrechnung08() public void testFlatExDeGiroSammelabrechnung09() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8487,6 +8645,7 @@ public void testFlatExDeGiroSammelabrechnung09() public void testFlatExDeGiroDepotServiceGebuehr01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8549,6 +8708,7 @@ public void testFlatExDeGiroDepotServiceGebuehr01() public void testFlatExDegiroVorabpauschale01() { var extractor = new FinTechGroupBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/firstradesecuritiesinc/FirstradeSecuritiesIncPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/firstradesecuritiesinc/FirstradeSecuritiesIncPDFExtractorTest.java index 9b1af2b1a4..5d283305ac 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/firstradesecuritiesinc/FirstradeSecuritiesIncPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/firstradesecuritiesinc/FirstradeSecuritiesIncPDFExtractorTest.java @@ -35,15 +35,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.FirstradeSecuritiesIncPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class FirstradeSecuritiesIncPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testSecurityBuy01() { var extractor = new FirstradeSecuritiesIncPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -78,6 +82,7 @@ public void testSecurityBuy01() public void testSecuritySale01() { var extractor = new FirstradeSecuritiesIncPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -112,6 +117,7 @@ public void testSecuritySale01() public void testSecuritySale02() { var extractor = new FirstradeSecuritiesIncPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/fordmoney/FordMoneyPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/fordmoney/FordMoneyPDFExtractorTest.java index 21fc4bbef9..3a15da9bdd 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/fordmoney/FordMoneyPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/fordmoney/FordMoneyPDFExtractorTest.java @@ -29,15 +29,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.FordMoneyPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class FordMoneyPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKontoauszug01() { var extractor = new FordMoneyPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/genobroker/GenoBrokerPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/genobroker/GenoBrokerPDFExtractorTest.java index d7adc8c3a7..91d77bf737 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/genobroker/GenoBrokerPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/genobroker/GenoBrokerPDFExtractorTest.java @@ -41,16 +41,20 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.GenoBrokerPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Security; @SuppressWarnings("nls") public class GenoBrokerPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new GenoBrokerPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -161,6 +165,7 @@ public void testWertpapierKauf03WithSecurityInEUR() client.addSecurity(security); var extractor = new GenoBrokerPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ginmon/GinmonPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ginmon/GinmonPDFExtractorTest.java index aa4f60d3fb..b43f7348e7 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ginmon/GinmonPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ginmon/GinmonPDFExtractorTest.java @@ -24,15 +24,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.GinmonPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class GinmonPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testFeeInvoice01() { var extractor = new GinmonPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/gladbacherbankag/GladbacherBankAGPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/gladbacherbankag/GladbacherBankAGPDFExtractorTest.java index 84dc53d833..c50a4824dc 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/gladbacherbankag/GladbacherBankAGPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/gladbacherbankag/GladbacherBankAGPDFExtractorTest.java @@ -40,6 +40,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.GladbacherBankAGPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.Client; @@ -48,10 +49,13 @@ @SuppressWarnings("nls") public class GladbacherBankAGPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new GladbacherBankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -196,6 +200,7 @@ public void testDividende02WithSecurityInEUR() client.addSecurity(security); var extractor = new GladbacherBankAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/hargreaveslansdownplc/HargreavesLansdownPlcTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/hargreaveslansdownplc/HargreavesLansdownPlcTest.java index 01cd84ac8f..9d52dfd8b1 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/hargreaveslansdownplc/HargreavesLansdownPlcTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/hargreaveslansdownplc/HargreavesLansdownPlcTest.java @@ -20,6 +20,7 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.HargreavesLansdownPlcExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Client; @@ -31,10 +32,13 @@ @SuppressWarnings("nls") public class HargreavesLansdownPlcTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new HargreavesLansdownPlcExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -83,6 +87,7 @@ public void testWertpapierKauf01() public void testWertpapierKauf02() { var extractor = new HargreavesLansdownPlcExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -131,6 +136,7 @@ public void testWertpapierKauf02() public void testWertpapierVerkauf01() { var extractor = new HargreavesLansdownPlcExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -179,6 +185,7 @@ public void testWertpapierVerkauf01() public void testWertpapierVerkauf02() { var extractor = new HargreavesLansdownPlcExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/hellobank/HelloBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/hellobank/HelloBankPDFExtractorTest.java index 19adc2f806..3edebbc8a1 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/hellobank/HelloBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/hellobank/HelloBankPDFExtractorTest.java @@ -25,6 +25,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.HelloBankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -38,10 +39,13 @@ @SuppressWarnings("nls") public class HelloBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new HelloBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -102,6 +106,7 @@ public void testWertpapierKauf01WithSecurityinEUR() client.addSecurity(security); var extractor = new HelloBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/hypothekarbanklenzburgag/HypothekarbankLenzburgAGPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/hypothekarbanklenzburgag/HypothekarbankLenzburgAGPDFExtractorTest.java index 52617abdf4..c040d6f2e0 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/hypothekarbanklenzburgag/HypothekarbankLenzburgAGPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/hypothekarbanklenzburgag/HypothekarbankLenzburgAGPDFExtractorTest.java @@ -37,16 +37,20 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.HypothekarbankLenzburgAGPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Security; @SuppressWarnings("nls") public class HypothekarbankLenzburgAGPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -81,6 +85,7 @@ public void testWertpapierKauf01() public void testWertpapierKauf02() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -115,6 +120,7 @@ public void testWertpapierKauf02() public void testWertpapierKauf03() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -149,6 +155,7 @@ public void testWertpapierKauf03() public void testWertpapierKauf04() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -183,6 +190,7 @@ public void testWertpapierKauf04() public void testWertpapierKauf05() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -217,6 +225,7 @@ public void testWertpapierKauf05() public void testWertpapierKauf06() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -251,6 +260,7 @@ public void testWertpapierKauf06() public void testWertpapierKauf07() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -285,6 +295,7 @@ public void testWertpapierKauf07() public void testWertpapierKauf08() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -327,6 +338,7 @@ public void testWertpapierKauf08WithSecurityInCHF() client.addSecurity(security); var extractor = new HypothekarbankLenzburgAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -355,6 +367,7 @@ public void testWertpapierKauf08WithSecurityInCHF() public void testWertpapierKauf09() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -389,6 +402,7 @@ public void testWertpapierKauf09() public void testWertpapierKauf10() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -431,6 +445,7 @@ public void testWertpapierKauf10WithSecurityInCHF() client.addSecurity(security); var extractor = new HypothekarbankLenzburgAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -459,6 +474,7 @@ public void testWertpapierKauf10WithSecurityInCHF() public void testWertpapierKauf11() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -501,6 +517,7 @@ public void testWertpapierKauf11WithSecurityInCHF() client.addSecurity(security); var extractor = new HypothekarbankLenzburgAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -529,6 +546,7 @@ public void testWertpapierKauf11WithSecurityInCHF() public void testWertpapierVerkauf01() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -563,6 +581,7 @@ public void testWertpapierVerkauf01() public void testWertpapierVerkauf02() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -605,6 +624,7 @@ public void testWertpapierVerkauf02WithSecurityInCHF() client.addSecurity(security); var extractor = new HypothekarbankLenzburgAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -633,6 +653,7 @@ public void testWertpapierVerkauf02WithSecurityInCHF() public void testWertpapierVerkauf03() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -667,6 +688,7 @@ public void testWertpapierVerkauf03() public void testWertpapierVerkauf04() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -709,6 +731,7 @@ public void testWertpapierVerkauf04WithSecurityInCHF() client.addSecurity(security); var extractor = new HypothekarbankLenzburgAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -737,6 +760,7 @@ public void testWertpapierVerkauf04WithSecurityInCHF() public void testWertpapierVerkauf05() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -779,6 +803,7 @@ public void testWertpapierVerkauf05WithSecurityInCHF() client.addSecurity(security); var extractor = new HypothekarbankLenzburgAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -807,6 +832,7 @@ public void testWertpapierVerkauf05WithSecurityInCHF() public void testDividende01() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -849,6 +875,7 @@ public void testDividende01WithSecurityInCHF() client.addSecurity(security); var extractor = new HypothekarbankLenzburgAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -877,6 +904,7 @@ public void testDividende01WithSecurityInCHF() public void testDividende02() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -919,6 +947,7 @@ public void testDividende02WithSecurityInCHF() client.addSecurity(security); var extractor = new HypothekarbankLenzburgAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -947,6 +976,7 @@ public void testDividende02WithSecurityInCHF() public void testDividende03() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -981,6 +1011,7 @@ public void testDividende03() public void testDividende04() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1015,6 +1046,7 @@ public void testDividende04() public void testDividende05() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1049,6 +1081,7 @@ public void testDividende05() public void testDividende06() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1091,6 +1124,7 @@ public void testDividende06WithSecurityInCHF() client.addSecurity(security); var extractor = new HypothekarbankLenzburgAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1119,6 +1153,7 @@ public void testDividende06WithSecurityInCHF() public void testDividende07() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1161,6 +1196,7 @@ public void testDividende07WithSecurityInCHF() client.addSecurity(security); var extractor = new HypothekarbankLenzburgAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1189,6 +1225,7 @@ public void testDividende07WithSecurityInCHF() public void testDividende08() { var extractor = new HypothekarbankLenzburgAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1231,6 +1268,7 @@ public void testDividende08WithSecurityInCHF() client.addSecurity(security); var extractor = new HypothekarbankLenzburgAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ingdiba/INGDiBaPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ingdiba/INGDiBaPDFExtractorTest.java index 9aa4ade496..ea0f066a49 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ingdiba/INGDiBaPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ingdiba/INGDiBaPDFExtractorTest.java @@ -54,6 +54,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.INGDiBaPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -69,10 +70,13 @@ @SuppressWarnings("nls") public class INGDiBaPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new INGDiBaPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -584,6 +588,7 @@ public void testWertpapierKauf10WithSecurityinEUR() client.addSecurity(security); var extractor = new INGDiBaPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/jtdirektbank/JTDirektbankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/jtdirektbank/JTDirektbankPDFExtractorTest.java index 5e8485cea1..2c3ddd5d24 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/jtdirektbank/JTDirektbankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/jtdirektbank/JTDirektbankPDFExtractorTest.java @@ -29,15 +29,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.JTDirektbankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class JTDirektbankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKontoauszug01() { var extractor = new JTDirektbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/kbcgroupnv/KBCGroupNVPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/kbcgroupnv/KBCGroupNVPDFExtractorTest.java index 4b9ecb0069..2f000c47af 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/kbcgroupnv/KBCGroupNVPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/kbcgroupnv/KBCGroupNVPDFExtractorTest.java @@ -43,6 +43,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.KBCGroupNVPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.Client; @@ -51,10 +52,13 @@ @SuppressWarnings("nls") public class KBCGroupNVPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testAankoop01() { var extractor = new KBCGroupNVPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -310,6 +314,7 @@ public void testMultiblerAankoopVerkoop02WithSecurityInEUR() client.addSecurity(security2); var extractor = new KBCGroupNVPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/keytradebank/KeytradeBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/keytradebank/KeytradeBankPDFExtractorTest.java index f5f504d91d..b37157480b 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/keytradebank/KeytradeBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/keytradebank/KeytradeBankPDFExtractorTest.java @@ -45,6 +45,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.KeytradeBankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -59,10 +60,13 @@ @SuppressWarnings("nls") public class KeytradeBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new KeytradeBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -113,6 +117,7 @@ public void testWertpapierKauf01() public void testWertpapierKauf02() { var extractor = new KeytradeBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -163,6 +168,7 @@ public void testWertpapierKauf02() public void testWertpapierKauf03() { var extractor = new KeytradeBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -213,6 +219,7 @@ public void testWertpapierKauf03() public void testWertpapierKauf04() { var extractor = new KeytradeBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -269,6 +276,7 @@ public void testWertpapierKauf04WithSecurityInEUR() client.addSecurity(security); var extractor = new KeytradeBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -320,6 +328,7 @@ public void testWertpapierKauf04WithSecurityInEUR() public void testTitreAchat01() { var extractor = new KeytradeBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -370,6 +379,7 @@ public void testTitreAchat01() public void testTitreAchat02() { var extractor = new KeytradeBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -420,6 +430,7 @@ public void testTitreAchat02() public void testTitreAchat03() { var extractor = new KeytradeBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -470,6 +481,7 @@ public void testTitreAchat03() public void testTitreAchat04() { var extractor = new KeytradeBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -520,6 +532,7 @@ public void testTitreAchat04() public void testEffectAankoop01() { var extractor = new KeytradeBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -554,6 +567,7 @@ public void testEffectAankoop01() public void testWertpapierVerkauf01() { var extractor = new KeytradeBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -604,6 +618,7 @@ public void testWertpapierVerkauf01() public void testWertpapierVerkauf02() { var extractor = new KeytradeBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -660,6 +675,7 @@ public void testWertpapierVerkauf02WithSecurityInEUR() client.addSecurity(security); var extractor = new KeytradeBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -711,6 +727,7 @@ public void testWertpapierVerkauf02WithSecurityInEUR() public void testTitreVente01() { var extractor = new KeytradeBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -761,6 +778,7 @@ public void testTitreVente01() public void testTitreVente02() { var extractor = new KeytradeBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -811,6 +829,7 @@ public void testTitreVente02() public void testEffectVerkoop01() { var extractor = new KeytradeBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -851,6 +870,7 @@ public void testEffectVerkoop01WithSecurityInEUR() client.addSecurity(security); var extractor = new KeytradeBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -885,6 +905,7 @@ public void testEffectVerkoop01WithSecurityInEUR() public void testEffectVerkoop02() { var extractor = new KeytradeBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -921,6 +942,7 @@ public void testDividende01() var client = new Client(); var extractor = new KeytradeBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -968,6 +990,7 @@ public void testDividende02() var client = new Client(); var extractor = new KeytradeBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1015,6 +1038,7 @@ public void testDividende03() var client = new Client(); var extractor = new KeytradeBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1066,6 +1090,7 @@ public void testDividende03WithSecurityInEUR() client.addSecurity(security); var extractor = new KeytradeBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1113,6 +1138,7 @@ public void testDividende04() var client = new Client(); var extractor = new KeytradeBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1160,6 +1186,7 @@ public void testDividende05() var client = new Client(); var extractor = new KeytradeBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1205,6 +1232,7 @@ public void testDividende05() public void testDividende06() { var extractor = new KeytradeBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1245,6 +1273,7 @@ public void testDividende06WithSecurityInEUR() client.addSecurity(security); var extractor = new KeytradeBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/kfintech/KFintechPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/kfintech/KFintechPDFExtractorTest.java index 963e2c0de8..00197dd9af 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/kfintech/KFintechPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/kfintech/KFintechPDFExtractorTest.java @@ -37,15 +37,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.KFintechPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class KFintechPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testConsolidatedAccountStatement01() { var extractor = new KFintechPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -314,6 +318,7 @@ private void checkSBIBlueChipFund(List results) public void testConsolidatedAccountStatement02() { var extractor = new KFintechPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -378,6 +383,7 @@ public void testConsolidatedAccountStatement02() public void testConsolidatedAccountStatement03() { var extractor = new KFintechPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/lgtbank/LGTBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/lgtbank/LGTBankPDFExtractorTest.java index acadcd86e4..a9cd87be58 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/lgtbank/LGTBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/lgtbank/LGTBankPDFExtractorTest.java @@ -41,6 +41,7 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.LGTBankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Client; @@ -52,10 +53,13 @@ @SuppressWarnings("nls") public class LGTBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new LGTBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -106,6 +110,7 @@ public void testWertpapierKauf01() public void testWertpapierKauf02() { var extractor = new LGTBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -156,6 +161,7 @@ public void testWertpapierKauf02() public void testWertpapierKauf03() { var extractor = new LGTBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -190,6 +196,7 @@ public void testWertpapierKauf03() public void testWertpapierKauf04() { var extractor = new LGTBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -224,6 +231,7 @@ public void testWertpapierKauf04() public void testWertpapierKauf05() { var extractor = new LGTBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -258,6 +266,7 @@ public void testWertpapierKauf05() public void testWertpapierVerkauf01() { var extractor = new LGTBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -292,6 +301,7 @@ public void testWertpapierVerkauf01() public void testWertpapierVerkauf02() { var extractor = new LGTBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -326,6 +336,7 @@ public void testWertpapierVerkauf02() public void testWertpapierVerkauf03() { var extractor = new LGTBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -360,6 +371,7 @@ public void testWertpapierVerkauf03() public void testDividende01() { var extractor = new LGTBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -405,6 +417,7 @@ public void testDividende01() public void testDividende02() { var extractor = new LGTBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -439,6 +452,7 @@ public void testDividende02() public void testDividende03() { var extractor = new LGTBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -473,6 +487,7 @@ public void testDividende03() public void testDividende04() { var extractor = new LGTBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -507,6 +522,7 @@ public void testDividende04() public void testDividende05() { var extractor = new LGTBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/liechtensteinischelandesbankag/LiechtensteinischeLandesbankAGPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/liechtensteinischelandesbankag/LiechtensteinischeLandesbankAGPDFExtractorTest.java index 4287db4f30..7b11b2e329 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/liechtensteinischelandesbankag/LiechtensteinischeLandesbankAGPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/liechtensteinischelandesbankag/LiechtensteinischeLandesbankAGPDFExtractorTest.java @@ -42,6 +42,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.LiechtensteinischeLandesbankAGPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.Client; @@ -52,10 +53,13 @@ @SuppressWarnings("nls") public class LiechtensteinischeLandesbankAGPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new LiechtensteinischeLandesbankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -90,6 +94,7 @@ public void testWertpapierKauf01() public void testWertpapierKauf02() { var extractor = new LiechtensteinischeLandesbankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -124,6 +129,7 @@ public void testWertpapierKauf02() public void testWertpapierKauf03() { var extractor = new LiechtensteinischeLandesbankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -158,6 +164,7 @@ public void testWertpapierKauf03() public void testWertpapierKauf04() { var extractor = new LiechtensteinischeLandesbankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -200,6 +207,7 @@ public void testWertpapierKauf04WithSecurityInCHF() client.addSecurity(security); var extractor = new LiechtensteinischeLandesbankAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -233,6 +241,7 @@ public void testWertpapierKauf04WithSecurityInCHF() public void testWertpapierVerkauf01() { var extractor = new LiechtensteinischeLandesbankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -275,6 +284,7 @@ public void testWertpapierVerkauf01WithSecurityInCHF() client.addSecurity(security); var extractor = new LiechtensteinischeLandesbankAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -308,6 +318,7 @@ public void testWertpapierVerkauf01WithSecurityInCHF() public void testWertpapierVerkauf02() { var extractor = new LiechtensteinischeLandesbankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -342,6 +353,7 @@ public void testWertpapierVerkauf02() public void testWertpapierVerkauf03() { var extractor = new LiechtensteinischeLandesbankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -384,6 +396,7 @@ public void testWertpapierVerkauf03WithSecurityInCHF() client.addSecurity(security); var extractor = new LiechtensteinischeLandesbankAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -417,6 +430,7 @@ public void testWertpapierVerkauf03WithSecurityInCHF() public void testDividende01() { var extractor = new LiechtensteinischeLandesbankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -459,6 +473,7 @@ public void testDividende01WithSecurityInCHF() client.addSecurity(security); var extractor = new LiechtensteinischeLandesbankAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -494,6 +509,7 @@ public void testDividende01WithSecurityInCHF() public void testDividende02() { var extractor = new LiechtensteinischeLandesbankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -536,6 +552,7 @@ public void testDividende02WithSecurityInCHF() client.addSecurity(security); var extractor = new LiechtensteinischeLandesbankAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -571,6 +588,7 @@ public void testDividende02WithSecurityInCHF() public void testKontoauzug01() { var extractor = new LiechtensteinischeLandesbankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -595,6 +613,7 @@ public void testKontoauzug01() public void testDepotauszug01() { var extractor = new LiechtensteinischeLandesbankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/limetradingcorp/LimeTradingCorpPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/limetradingcorp/LimeTradingCorpPDFExtractorTest.java index 52f081283f..8290063f7c 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/limetradingcorp/LimeTradingCorpPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/limetradingcorp/LimeTradingCorpPDFExtractorTest.java @@ -40,6 +40,7 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.LimeTradingCorpPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Client; @@ -51,10 +52,13 @@ @SuppressWarnings("nls") public class LimeTradingCorpPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testAccountStatement01() { var extractor = new LimeTradingCorpPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -288,6 +292,7 @@ public void testAccountStatement01() public void testAccountStatement02() { var extractor = new LimeTradingCorpPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/medirectbankplc/MeDirectBankPlcPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/medirectbankplc/MeDirectBankPlcPDFExtractorTest.java index 86f9ba0ff2..2bf15e7052 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/medirectbankplc/MeDirectBankPlcPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/medirectbankplc/MeDirectBankPlcPDFExtractorTest.java @@ -35,15 +35,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.MeDirectBankPlcPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class MeDirectBankPlcPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testSecurityBuy01() { var extractor = new MeDirectBankPlcPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -78,6 +82,7 @@ public void testSecurityBuy01() public void testSecuritySell01() { var extractor = new MeDirectBankPlcPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/merkurprivatbank/MerkurPrivatBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/merkurprivatbank/MerkurPrivatBankPDFExtractorTest.java index 0fdbfb4ac0..9e258eb595 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/merkurprivatbank/MerkurPrivatBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/merkurprivatbank/MerkurPrivatBankPDFExtractorTest.java @@ -46,6 +46,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.MerkurPrivatBankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -59,10 +60,13 @@ @SuppressWarnings("nls") public class MerkurPrivatBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new MerkurPrivatBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -403,6 +407,7 @@ public void testDividende03WithSecurityInEUR() client.addSecurity(security); var extractor = new MerkurPrivatBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/mlpbank/MLPBankingAGPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/mlpbank/MLPBankingAGPDFExtractorTest.java index 6aa9743c2e..9d72252525 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/mlpbank/MLPBankingAGPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/mlpbank/MLPBankingAGPDFExtractorTest.java @@ -25,6 +25,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.MLPBankingAGPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -38,10 +39,13 @@ @SuppressWarnings("nls") public class MLPBankingAGPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new MLPBankingAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -203,6 +207,7 @@ public void testWertpapierKauf03WithSecurityInEUR() client.addSecurity(security); var extractor = new MLPBankingAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/modenaestonia/ModenaEstoniaPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/modenaestonia/ModenaEstoniaPDFExtractorTest.java index 65ded99cef..98a7810152 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/modenaestonia/ModenaEstoniaPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/modenaestonia/ModenaEstoniaPDFExtractorTest.java @@ -28,15 +28,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.ModenaEstoniaPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class ModenaEstoniaPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKontoauszug01() { var extractor = new ModenaEstoniaPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -77,6 +81,7 @@ public void testKontoauszug01() public void testKontoauszug02() { var extractor = new ModenaEstoniaPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -101,6 +106,7 @@ public void testKontoauszug02() public void testKontoauszug03() { var extractor = new ModenaEstoniaPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/n26bankag/N26BankAGPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/n26bankag/N26BankAGPDFExtractorTest.java index 97ac9b49cd..927f3b79e2 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/n26bankag/N26BankAGPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/n26bankag/N26BankAGPDFExtractorTest.java @@ -29,15 +29,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.N26BankAGPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class N26BankAGPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKontoauszug01() { var extractor = new N26BankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/nibcbank/NIBCBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/nibcbank/NIBCBankPDFExtractorTest.java index 609b3e6003..22e2418fe5 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/nibcbank/NIBCBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/nibcbank/NIBCBankPDFExtractorTest.java @@ -25,6 +25,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.NIBCBankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -38,10 +39,13 @@ @SuppressWarnings("nls") public class NIBCBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new NIBCBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -148,6 +152,7 @@ public void testDividende01WithSecurityinEUR() client.addSecurity(security); var extractor = new NIBCBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/nordaxbankab/NordaxBankABPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/nordaxbankab/NordaxBankABPDFExtractorTest.java index 1017668192..25b21c34f5 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/nordaxbankab/NordaxBankABPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/nordaxbankab/NordaxBankABPDFExtractorTest.java @@ -31,15 +31,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.NordaxBankABPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class NordaxBankABPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testAccountStatement01() { var extractor = new NordaxBankABPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/norddeutschelandesbank/NorddeutscheLandesbankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/norddeutschelandesbank/NorddeutscheLandesbankPDFExtractorTest.java index eae1c8fa34..b493a24362 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/norddeutschelandesbank/NorddeutscheLandesbankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/norddeutschelandesbank/NorddeutscheLandesbankPDFExtractorTest.java @@ -35,16 +35,20 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.NorddeutscheLandesbankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Security; @SuppressWarnings("nls") public class NorddeutscheLandesbankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testDividende01() { var extractor = new NorddeutscheLandesbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -87,6 +91,7 @@ public void testDividende01WithSecurityInCHF() client.addSecurity(security); var extractor = new NorddeutscheLandesbankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/oldenburgischelandesbankag/OldenburgischeLandesbankAGPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/oldenburgischelandesbankag/OldenburgischeLandesbankAGPDFExtractorTest.java index 0aed294f2d..f777a10d50 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/oldenburgischelandesbankag/OldenburgischeLandesbankAGPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/oldenburgischelandesbankag/OldenburgischeLandesbankAGPDFExtractorTest.java @@ -45,6 +45,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.OldenburgischeLandesbankAGPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.Client; @@ -55,10 +56,13 @@ @SuppressWarnings("nls") public class OldenburgischeLandesbankAGPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new OldenburgischeLandesbankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -203,6 +207,7 @@ public void testWertpapierKauf04WithSecurityInEUR() client.addSecurity(security); var extractor = new OldenburgischeLandesbankAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/onvista/OnvistaPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/onvista/OnvistaPDFExtractorTest.java index 0f087b5137..ff226838d2 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/onvista/OnvistaPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/onvista/OnvistaPDFExtractorTest.java @@ -55,6 +55,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.OnvistaPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -70,10 +71,13 @@ @SuppressWarnings("nls") public class OnvistaPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new OnvistaPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -182,6 +186,7 @@ public void testWertpapierKauf02WithSecurityInEUR() client.addSecurity(security); var extractor = new OnvistaPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/openbanksa/OpenBankSAPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/openbanksa/OpenBankSAPDFExtractorTest.java index 9342d78e6f..810233f313 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/openbanksa/OpenBankSAPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/openbanksa/OpenBankSAPDFExtractorTest.java @@ -22,6 +22,7 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.OpenBankSAPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Client; @@ -33,10 +34,13 @@ @SuppressWarnings("nls") public class OpenBankSAPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new OpenBankSAPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/orangebank/OrangeBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/orangebank/OrangeBankPDFExtractorTest.java index 425381d74f..ecf18d501c 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/orangebank/OrangeBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/orangebank/OrangeBankPDFExtractorTest.java @@ -26,15 +26,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.OrangeBankPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class OrangeBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKontoauszug01() { var extractor = new OrangeBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/pictetciegruppesa/PictetCieGruppeSAPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/pictetciegruppesa/PictetCieGruppeSAPDFExtractorTest.java index ecac2b5735..4f36fee342 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/pictetciegruppesa/PictetCieGruppeSAPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/pictetciegruppesa/PictetCieGruppeSAPDFExtractorTest.java @@ -23,6 +23,7 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.PictetCieGruppeSAPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Client; @@ -34,10 +35,13 @@ @SuppressWarnings("nls") public class PictetCieGruppeSAPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new PictetCieGruppeSAPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -88,6 +92,7 @@ public void testWertpapierKauf01() public void testWertpapierKauf02() { var extractor = new PictetCieGruppeSAPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -138,6 +143,7 @@ public void testWertpapierKauf02() public void testWertpapierKauf03() { var extractor = new PictetCieGruppeSAPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -188,6 +194,7 @@ public void testWertpapierKauf03() public void testWertpapierKauf04() { var extractor = new PictetCieGruppeSAPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -238,6 +245,7 @@ public void testWertpapierKauf04() public void testWertpapierVerkauf01() { var extractor = new PictetCieGruppeSAPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -288,6 +296,7 @@ public void testWertpapierVerkauf01() public void testDividende01() { var extractor = new PictetCieGruppeSAPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/postbank/PostbankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/postbank/PostbankPDFExtractorTest.java index 6628c7e16a..8f6aa94e20 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/postbank/PostbankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/postbank/PostbankPDFExtractorTest.java @@ -50,6 +50,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.PostbankPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -63,10 +64,13 @@ @SuppressWarnings("nls") public class PostbankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new PostbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -307,6 +311,7 @@ public void testWertpapierKauf04WithSecurityInEUR() client.addSecurity(security); var extractor = new PostbankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/postfinance/PostfinancePDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/postfinance/PostfinancePDFExtractorTest.java index af7cb36aac..ebd9d98a24 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/postfinance/PostfinancePDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/postfinance/PostfinancePDFExtractorTest.java @@ -38,6 +38,7 @@ import java.util.ArrayList; import java.util.List; +import org.junit.Before; import org.junit.Test; import name.abuchen.portfolio.datatransfer.Extractor.BuySellEntryItem; @@ -49,6 +50,7 @@ import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.PostfinancePDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.TestCoinSearchProvider; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -64,6 +66,8 @@ @SuppressWarnings("nls") public class PostfinancePDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + PostfinancePDFExtractor extractor = new PostfinancePDFExtractor(new Client()) { @Override @@ -73,12 +77,19 @@ protected List lookupCryptoProvider() } }; + @Before + public void init() + { + extractor.setNegativeValue(negativeValue); + } + @Test public void testWertpapierKauf01() { var client = new Client(); var extractor = new PostfinancePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -131,6 +142,7 @@ public void testWertpapierKauf02() var client = new Client(); var extractor = new PostfinancePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -183,6 +195,7 @@ public void testWertpapierKauf03() var client = new Client(); var extractor = new PostfinancePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -243,6 +256,7 @@ public void testWertpapierKauf03WithSecurityInCHF() client.addSecurity(security); var extractor = new PostfinancePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -292,6 +306,7 @@ public void testWertpapierKauf04() var client = new Client(); var extractor = new PostfinancePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -352,6 +367,7 @@ public void testWertpapierKauf04WithSecurityInCHF() client.addSecurity(security); var extractor = new PostfinancePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -399,6 +415,7 @@ public void testWertpapierKauf04WithSecurityInCHF() public void testWertpapierKauf05() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -433,6 +450,7 @@ public void testWertpapierKauf05() public void testWertpapierKauf06() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -469,6 +487,7 @@ public void testWertpapierVerkauf01() var client = new Client(); var extractor = new PostfinancePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -519,6 +538,7 @@ public void testWertpapierVerkauf01() public void testWertpapierVerkauf02() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -553,6 +573,7 @@ public void testWertpapierVerkauf02() public void testWertpapierVerkauf03() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -594,6 +615,7 @@ public void testtestWertpapierVerkauf03WithSecurityInCHF() client.addSecurity(security); var extractor = new PostfinancePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -655,6 +677,7 @@ public void testCryptoKauf01() public void testDividende01() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -700,6 +723,7 @@ public void testDividende01() public void testDividende02() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -745,6 +769,7 @@ public void testDividende02() public void testDividende03() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -790,6 +815,7 @@ public void testDividende03() public void testZahlungsverkehr01() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -814,6 +840,7 @@ public void testZahlungsverkehr01() public void testZahlungsverkehr02() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -838,6 +865,7 @@ public void testZahlungsverkehr02() public void testJahresgebuehr01() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -873,6 +901,7 @@ public void testJahresgebuehr01() public void testGiroKontoauszug10() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -897,6 +926,7 @@ public void testGiroKontoauszug10() public void testZinsabschluss01() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -947,6 +977,7 @@ public void testZinsabschluss01() public void testZinsabschluss02() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1012,6 +1043,7 @@ public void testZinsabschluss02() public void testZinsabschluss03() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1062,6 +1094,7 @@ public void testZinsabschluss03() public void testZinsabschluss04() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1127,6 +1160,7 @@ public void testZinsabschluss04() public void testKontoauszug01() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1912,6 +1946,7 @@ public void testKontoauszug01() public void testKontoauszug02() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1997,6 +2032,7 @@ public void testKontoauszug02() public void testKontoauszug03() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2562,6 +2598,7 @@ public void testKontoauszug03() public void testKontoauszug04() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2607,6 +2644,7 @@ public void testKontoauszug04() public void testKontoauszug05() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2819,6 +2857,7 @@ public void testKontoauszug05() public void testKontoauszug06() { var extractor = new PostfinancePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/questradegroup/QuestradeGroupPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/questradegroup/QuestradeGroupPDFExtractorTest.java index 20dfa826eb..057191f4a9 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/questradegroup/QuestradeGroupPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/questradegroup/QuestradeGroupPDFExtractorTest.java @@ -36,15 +36,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.QuestradeGroupPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class QuestradeGroupPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testSecurityBuy01() { var extractor = new QuestradeGroupPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -79,6 +83,7 @@ public void testSecurityBuy01() public void testSecurityBuy02() { var extractor = new QuestradeGroupPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -113,6 +118,7 @@ public void testSecurityBuy02() public void testSecurityBuy03() { var extractor = new QuestradeGroupPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -146,6 +152,7 @@ public void testSecurityBuy03() public void testSecurityBuy04() { var extractor = new QuestradeGroupPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -179,6 +186,7 @@ public void testSecurityBuy04() public void testSecurityBuy05() { var extractor = new QuestradeGroupPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -212,6 +220,7 @@ public void testSecurityBuy05() public void testSecurityBuy06() { var extractor = new QuestradeGroupPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -245,6 +254,7 @@ public void testSecurityBuy06() public void testDividend01() { var extractor = new QuestradeGroupPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -279,6 +289,7 @@ public void testDividend01() public void testDividend02() { var extractor = new QuestradeGroupPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -312,6 +323,7 @@ public void testDividend02() public void testDividend03() { var extractor = new QuestradeGroupPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -345,6 +357,7 @@ public void testDividend03() public void testAccountTransaction01() { var extractor = new QuestradeGroupPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/quirinbankag/QuirinPrivatbankAGPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/quirinbankag/QuirinPrivatbankAGPDFExtractorTest.java index 6befb1432a..75436390b7 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/quirinbankag/QuirinPrivatbankAGPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/quirinbankag/QuirinPrivatbankAGPDFExtractorTest.java @@ -51,6 +51,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.QuirinBankAGPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -65,10 +66,13 @@ @SuppressWarnings("nls") public class QuirinPrivatbankAGPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new QuirinBankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -229,6 +233,7 @@ public void testWertpapierKauf03WithSecurityInEUR() client.addSecurity(security); var extractor = new QuirinBankAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/raiffeisenbankgruppe/RaiffeisenbankgruppePDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/raiffeisenbankgruppe/RaiffeisenbankgruppePDFExtractorTest.java index ed2cb334eb..347d0284d9 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/raiffeisenbankgruppe/RaiffeisenbankgruppePDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/raiffeisenbankgruppe/RaiffeisenbankgruppePDFExtractorTest.java @@ -53,6 +53,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.RaiffeisenBankgruppePDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -67,10 +68,13 @@ @SuppressWarnings("nls") public class RaiffeisenbankgruppePDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -121,6 +125,7 @@ public void testWertpapierKauf01() public void testWertpapierKauf02() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -171,6 +176,7 @@ public void testWertpapierKauf02() public void testWertpapierKauf03() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -221,6 +227,7 @@ public void testWertpapierKauf03() public void testWertpapierKauf04() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -282,6 +289,7 @@ public void testWertpapierKauf04WithSecurityInEUR() client.addSecurity(security); var extractor = new RaiffeisenBankgruppePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -323,6 +331,7 @@ public void testWertpapierKauf04WithSecurityInEUR() public void testWertpapierKauf05() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -373,6 +382,7 @@ public void testWertpapierKauf05() public void testWertpapierKauf06() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -423,6 +433,7 @@ public void testWertpapierKauf06() public void testWertpapierKauf07() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -457,6 +468,7 @@ public void testWertpapierKauf07() public void testWertpapierKauf08() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -491,6 +503,7 @@ public void testWertpapierKauf08() public void testWertpapierKauf09() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -525,6 +538,7 @@ public void testWertpapierKauf09() public void testWertpapierKauf10() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -559,6 +573,7 @@ public void testWertpapierKauf10() public void testWertpapierKauf11() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -593,6 +608,7 @@ public void testWertpapierKauf11() public void testWertpapierKauf12() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -627,6 +643,7 @@ public void testWertpapierKauf12() public void testWertpapierVerkauf01() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -677,6 +694,7 @@ public void testWertpapierVerkauf01() public void testWertpapierVerkauf02() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -727,6 +745,7 @@ public void testWertpapierVerkauf02() public void testWertpapierVerkauf03() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -777,6 +796,7 @@ public void testWertpapierVerkauf03() public void testWertpapierVerkauf04() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -827,6 +847,7 @@ public void testWertpapierVerkauf04() public void testDividende01() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -872,6 +893,7 @@ public void testDividende01() public void testDividende02() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -927,6 +949,7 @@ public void testDividende02WithSecurityInEUR() client.addSecurity(security); var extractor = new RaiffeisenBankgruppePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -969,6 +992,7 @@ public void testDividende02WithSecurityInEUR() public void testDividende03() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1025,6 +1049,7 @@ public void testDividende03WithSecurityInEUR() client.addSecurity(security); var extractor = new RaiffeisenBankgruppePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1068,6 +1093,7 @@ public void testDividende03WithSecurityInEUR() public void testDividende04() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1124,6 +1150,7 @@ public void testDividende04WithSecurityInEUR() client.addSecurity(security); var extractor = new RaiffeisenBankgruppePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1167,6 +1194,7 @@ public void testDividende04WithSecurityInEUR() public void testDividende05() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1222,6 +1250,7 @@ public void testDividende05WithSecurityInEUR() client.addSecurity(security); var extractor = new RaiffeisenBankgruppePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1265,6 +1294,7 @@ public void testDividende05WithSecurityInEUR() public void testDividende06() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1311,6 +1341,7 @@ public void testDividende06() public void testDividende07() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1356,6 +1387,7 @@ public void testDividende07() public void testDividende08() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1390,6 +1422,7 @@ public void testDividende08() public void testDividende09() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1431,6 +1464,7 @@ public void testDividende09WithSecurityInEUR() client.addSecurity(security); var extractor = new RaiffeisenBankgruppePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1466,6 +1500,7 @@ public void testDividende09WithSecurityInEUR() public void testDividende10() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1500,6 +1535,7 @@ public void testDividende10() public void testDividende11() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1534,6 +1570,7 @@ public void testDividende11() public void testDividende12() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1576,6 +1613,7 @@ public void testDividende12WithSecurityInEUR() client.addSecurity(security); var extractor = new RaiffeisenBankgruppePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1611,6 +1649,7 @@ public void testDividende12WithSecurityInEUR() public void testDividende13() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1645,6 +1684,7 @@ public void testDividende13() public void testKontoauszug01() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1841,6 +1881,7 @@ public void testKontoauszug01() public void testKontoauszug02() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2176,6 +2217,7 @@ public void testKontoauszug02() public void testKontoauszug03() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2241,6 +2283,7 @@ public void testKontoauszug03() public void testKontoauszug04() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2306,6 +2349,7 @@ public void testKontoauszug04() public void testKontoauszug05() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2338,6 +2382,7 @@ public void testKontoauszug05() public void testKontoauszug06() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2390,6 +2435,7 @@ public void testKontoauszug06() public void testKontoauszug07() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2545,6 +2591,7 @@ public void testKontoauszug07() public void testKontoauszug08() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2584,6 +2631,7 @@ public void testKontoauszug08() public void testDepotauszug01() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2612,6 +2660,7 @@ public void testDepotauszug01() public void testEinbuchung01() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2732,6 +2781,7 @@ public void testEinbuchung01() public void testFreierErhalt01() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2768,6 +2818,7 @@ public void testFreierErhalt01() public void testFreierErhalt02() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2804,6 +2855,7 @@ public void testFreierErhalt02() public void testGebuehrenbelastung011() { var extractor = new RaiffeisenBankgruppePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/raisinbankag/RaisinBankAGPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/raisinbankag/RaisinBankAGPDFExtractorTest.java index c6cdbde52c..2e07948baa 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/raisinbankag/RaisinBankAGPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/raisinbankag/RaisinBankAGPDFExtractorTest.java @@ -41,6 +41,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.RaisinBankAGPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.Client; @@ -49,10 +50,13 @@ @SuppressWarnings("nls") public class RaisinBankAGPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new RaisinBankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -230,6 +234,7 @@ public void testDividende02WithSecurityInEUR() client.addSecurity(security); var extractor = new RaisinBankAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/renaultbankdirekt/RenaultBankDirektPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/renaultbankdirekt/RenaultBankDirektPDFExtractorTest.java index a87cc2c681..5854b44d5c 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/renaultbankdirekt/RenaultBankDirektPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/renaultbankdirekt/RenaultBankDirektPDFExtractorTest.java @@ -27,15 +27,20 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.RenaultBankDirektPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class RenaultBankDirektPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKontoauszug01() { var extractor = new RenaultBankDirektPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + List errors = new ArrayList<>(); var results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "Kontoauszug01.txt"), errors); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/revolutltd/RevolutLtdPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/revolutltd/RevolutLtdPDFExtractorTest.java index 7c41fd9f25..e11955401c 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/revolutltd/RevolutLtdPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/revolutltd/RevolutLtdPDFExtractorTest.java @@ -23,6 +23,7 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.RevolutLtdPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Client; @@ -34,10 +35,13 @@ @SuppressWarnings("nls") public class RevolutLtdPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierVerkauf01() { var extractor = new RevolutLtdPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -87,6 +91,7 @@ public void testWertpapierVerkauf01() public void testAccountStatement01() { var extractor = new RevolutLtdPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/santanderconsumerbank/SantanderConsumerBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/santanderconsumerbank/SantanderConsumerBankPDFExtractorTest.java index 93145ea3c2..2109155848 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/santanderconsumerbank/SantanderConsumerBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/santanderconsumerbank/SantanderConsumerBankPDFExtractorTest.java @@ -46,6 +46,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.SantanderConsumerBankPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -59,10 +60,13 @@ @SuppressWarnings("nls") public class SantanderConsumerBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new SantanderConsumerBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -218,6 +222,7 @@ public void testDividende01WithSecurityInEUR() client.addSecurity(security); var extractor = new SantanderConsumerBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/saxobank/SaxoBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/saxobank/SaxoBankPDFExtractorTest.java index 1f3f0ef490..786ddb0121 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/saxobank/SaxoBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/saxobank/SaxoBankPDFExtractorTest.java @@ -40,16 +40,20 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.SaxoBankPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Security; @SuppressWarnings("nls") public class SaxoBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -92,6 +96,7 @@ public void testWertpapierKauf01WithSecurityInCHF() client.addSecurity(security); var extractor = new SaxoBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -120,6 +125,7 @@ public void testWertpapierKauf01WithSecurityInCHF() public void testWertpapierKauf02() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -162,6 +168,7 @@ public void testWertpapierKauf02WithSecurityInCHF() client.addSecurity(security); var extractor = new SaxoBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -190,6 +197,7 @@ public void testWertpapierKauf02WithSecurityInCHF() public void testWertpapierKauf03() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -232,6 +240,7 @@ public void testWertpapierKauf03WithSecurityInCHF() client.addSecurity(security); var extractor = new SaxoBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -260,6 +269,7 @@ public void testWertpapierKauf03WithSecurityInCHF() public void testWertpapierKauf04() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -302,6 +312,7 @@ public void testWertpapierKauf04WithSecurityInCHF() client.addSecurity(security); var extractor = new SaxoBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -330,6 +341,7 @@ public void testWertpapierKauf04WithSecurityInCHF() public void testWertpapierKauf05() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -364,6 +376,7 @@ public void testWertpapierKauf05() public void testWertpapierKauf06() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -405,6 +418,7 @@ public void testWertpapierKauf06WithSecurityInCHF() client.addSecurity(security); var extractor = new SaxoBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -433,6 +447,7 @@ public void testWertpapierKauf06WithSecurityInCHF() public void testWertpapierKauf07() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -475,6 +490,7 @@ public void testWertpapierKauf07WithSecurityInCHF() client.addSecurity(security); var extractor = new SaxoBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -503,6 +519,7 @@ public void testWertpapierKauf07WithSecurityInCHF() public void testWertpapierKauf08() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -537,6 +554,7 @@ public void testWertpapierKauf08() public void testWertpapierVerkauf01() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -571,6 +589,7 @@ public void testWertpapierVerkauf01() public void testSecurityBuy01() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -605,6 +624,7 @@ public void testSecurityBuy01() public void testSecurityBuy02() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -639,6 +659,7 @@ public void testSecurityBuy02() public void testSecurityBuy03() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -673,6 +694,7 @@ public void testSecurityBuy03() public void testSecurityBuy04() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -707,6 +729,7 @@ public void testSecurityBuy04() public void testSecurityBuy05() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -741,6 +764,7 @@ public void testSecurityBuy05() public void testSecurityBuy06() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -774,6 +798,7 @@ public void testSecurityBuy06() public void testSecurityBuy07() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -806,6 +831,7 @@ public void testSecurityBuy07() public void testSecurityBuy08() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -838,6 +864,7 @@ public void testSecurityBuy08() public void testCashTransfer01() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -862,6 +889,7 @@ public void testCashTransfer01() public void testCashTransfer02() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -886,6 +914,7 @@ public void testCashTransfer02() public void testCashTransfer03() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -910,6 +939,7 @@ public void testCashTransfer03() public void testCashTransfer04() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -934,6 +964,7 @@ public void testCashTransfer04() public void testCashTransfer05() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -958,6 +989,7 @@ public void testCashTransfer05() public void testDividende01() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -992,6 +1024,7 @@ public void testDividende01() public void testDividende02() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1026,6 +1059,7 @@ public void testDividende02() public void testDividende03() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1060,6 +1094,7 @@ public void testDividende03() public void testInterest01() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1088,6 +1123,7 @@ public void testInterest01() public void testKontoauszug01() { var extractor = new SaxoBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sberbankeuropeag/SberbankEuropeAGPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sberbankeuropeag/SberbankEuropeAGPDFExtractorTest.java index c60c838185..3cead5c05c 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sberbankeuropeag/SberbankEuropeAGPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sberbankeuropeag/SberbankEuropeAGPDFExtractorTest.java @@ -24,15 +24,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.SberbankEuropeAGPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class SberbankEuropeAGPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testTagesgeldKontoauszug01() { var extractor = new SberbankEuropeAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sbroker/SBrokerPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sbroker/SBrokerPDFExtractorTest.java index 2a5a59e448..250d526426 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sbroker/SBrokerPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sbroker/SBrokerPDFExtractorTest.java @@ -55,6 +55,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.SBrokerPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -69,10 +70,13 @@ @SuppressWarnings("nls") public class SBrokerPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new SBrokerPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -534,6 +538,7 @@ public void testWertpapierKauf09WithSecurityInEUR() client.addSecurity(security); var extractor = new SBrokerPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/scalablecapital/ScalableCapitalPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/scalablecapital/ScalableCapitalPDFExtractorTest.java index 4765db30a5..2e86b7ae2d 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/scalablecapital/ScalableCapitalPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/scalablecapital/ScalableCapitalPDFExtractorTest.java @@ -44,16 +44,20 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.ScalableCapitalPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Security; @SuppressWarnings("nls") public class ScalableCapitalPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -88,6 +92,7 @@ public void testWertpapierKauf01() public void testWertpapierKauf02() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -122,6 +127,7 @@ public void testWertpapierKauf02() public void testWertpapierKauf03() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -156,6 +162,7 @@ public void testWertpapierKauf03() public void testWertpapierKauf04() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -190,6 +197,7 @@ public void testWertpapierKauf04() public void testWertpapierKauf05() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -224,6 +232,7 @@ public void testWertpapierKauf05() public void testSecurityBuy01() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -258,6 +267,7 @@ public void testSecurityBuy01() public void testSecurityBuy02() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -292,6 +302,7 @@ public void testSecurityBuy02() public void testEffectKopen01() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -326,6 +337,7 @@ public void testEffectKopen01() public void testTitoliAcquisto01() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -360,6 +372,7 @@ public void testTitoliAcquisto01() public void testWertpapierVerkauf01() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -394,6 +407,7 @@ public void testWertpapierVerkauf01() public void testWertpapierVerkauf02() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -428,6 +442,7 @@ public void testWertpapierVerkauf02() public void testWertpapierVerkauf03() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -462,6 +477,7 @@ public void testWertpapierVerkauf03() public void testWertpapierVerkauf04() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -496,6 +512,7 @@ public void testWertpapierVerkauf04() public void testWertpapierVerkauf05() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -530,6 +547,7 @@ public void testWertpapierVerkauf05() public void testWertpapierVerkauf06() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -564,6 +582,7 @@ public void testWertpapierVerkauf06() public void testWertpapierVerkauf07() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -606,6 +625,7 @@ public void testWertpapierVerkauf07() public void testSecuritySell01() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -640,6 +660,7 @@ public void testSecuritySell01() public void testSparplanausfuehrung01() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -674,6 +695,7 @@ public void testSparplanausfuehrung01() public void testSparplanausfuehrung02() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -708,6 +730,7 @@ public void testSparplanausfuehrung02() public void testSparplanausfuehrung03() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -742,6 +765,7 @@ public void testSparplanausfuehrung03() public void testSparplanausfuehrung04() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -776,6 +800,7 @@ public void testSparplanausfuehrung04() public void testSparplanausfuehrung05() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -810,6 +835,7 @@ public void testSparplanausfuehrung05() public void testSparplanausfuehrung06() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -844,6 +870,7 @@ public void testSparplanausfuehrung06() public void testSparplanausfuehrung07() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -878,6 +905,7 @@ public void testSparplanausfuehrung07() public void testSparplanausfuehrung08() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -912,6 +940,7 @@ public void testSparplanausfuehrung08() public void testSparplanausfuehrung09() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -946,6 +975,7 @@ public void testSparplanausfuehrung09() public void testSparplanausfuehrung10() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -980,6 +1010,7 @@ public void testSparplanausfuehrung10() public void testSparplanausfuehrung11() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1014,6 +1045,7 @@ public void testSparplanausfuehrung11() public void testSparplanausfuehrung12() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1048,6 +1080,7 @@ public void testSparplanausfuehrung12() public void testSparplanausfuehrung13() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1082,6 +1115,7 @@ public void testSparplanausfuehrung13() public void testSparplanausfuehrung14() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1116,6 +1150,7 @@ public void testSparplanausfuehrung14() public void testSparplanausfuehrung15() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1150,6 +1185,7 @@ public void testSparplanausfuehrung15() public void testSparplanausfuehrung16() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1184,6 +1220,7 @@ public void testSparplanausfuehrung16() public void testSavingsplan01() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1218,6 +1255,7 @@ public void testSavingsplan01() public void testSavingsplan02() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1252,6 +1290,7 @@ public void testSavingsplan02() public void testDividende01() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1293,6 +1332,7 @@ public void testDividende01WithSecurityInEUR() client.addSecurity(security); var extractor = new ScalableCapitalPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1321,6 +1361,7 @@ public void testDividende01WithSecurityInEUR() public void testDividende02() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1362,6 +1403,7 @@ public void testDividende02WithSecurityInEUR() client.addSecurity(security); var extractor = new ScalableCapitalPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1390,6 +1432,7 @@ public void testDividende02WithSecurityInEUR() public void testDividende03() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1424,6 +1467,7 @@ public void testDividende03() public void testDividende04() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1465,6 +1509,7 @@ public void testDividende04WithSecurityInEUR() client.addSecurity(security); var extractor = new ScalableCapitalPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1493,6 +1538,7 @@ public void testDividende04WithSecurityInEUR() public void testDividende05() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1534,6 +1580,7 @@ public void testDividende05WithSecurityInEUR() client.addSecurity(security); var extractor = new ScalableCapitalPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1562,6 +1609,7 @@ public void testDividende05WithSecurityInEUR() public void testDividende06() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1603,6 +1651,7 @@ public void testDividende06WithSecurityInEUR() client.addSecurity(security); var extractor = new ScalableCapitalPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1631,6 +1680,7 @@ public void testDividende06WithSecurityInEUR() public void testDividende07() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1665,6 +1715,7 @@ public void testDividende07() public void testDividende08() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1699,6 +1750,7 @@ public void testDividende08() public void testDividende09() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1733,6 +1785,7 @@ public void testDividende09() public void testDividende10() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1767,6 +1820,7 @@ public void testDividende10() public void testRechnungsabschluss01() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1795,6 +1849,7 @@ public void testRechnungsabschluss01() public void testRechnungsabschluss02() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1823,6 +1878,7 @@ public void testRechnungsabschluss02() public void testKontoauszug01() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1884,6 +1940,7 @@ public void testKontoauszug01() public void testKontoauszug02() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1925,6 +1982,7 @@ public void testKontoauszug02() public void testKontoauszug03() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1953,6 +2011,7 @@ public void testKontoauszug03() public void testAccountStatement01() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1977,6 +2036,7 @@ public void testAccountStatement01() public void testSteuererstattung01() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2001,6 +2061,7 @@ public void testSteuererstattung01() public void testVorabpauschale01() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2035,6 +2096,7 @@ public void testVorabpauschale01() public void testVorabpauschale02() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2069,6 +2131,7 @@ public void testVorabpauschale02() public void testVorabpauschale03() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2103,6 +2166,7 @@ public void testVorabpauschale03() public void testVorabpauschale04() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2137,6 +2201,7 @@ public void testVorabpauschale04() public void testVorabpauschale05() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2173,6 +2238,7 @@ public void testVorabpauschale05() public void testVorabpauschale06() { var extractor = new ScalableCapitalPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/schelhammercapitalbankag/SchelhammerCapitalBankAGPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/schelhammercapitalbankag/SchelhammerCapitalBankAGPDFExtractorTest.java index fdcfb78669..96fdd8dc63 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/schelhammercapitalbankag/SchelhammerCapitalBankAGPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/schelhammercapitalbankag/SchelhammerCapitalBankAGPDFExtractorTest.java @@ -36,15 +36,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.SchelhammerCapitalBankAG; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class SchelhammerCapitalBankAGPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new SchelhammerCapitalBankAG(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/scorepriorityinc/ScorePriorityIncPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/scorepriorityinc/ScorePriorityIncPDFExtractorTest.java index f659e754f4..59637bd4a2 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/scorepriorityinc/ScorePriorityIncPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/scorepriorityinc/ScorePriorityIncPDFExtractorTest.java @@ -25,6 +25,7 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.ScorePriorityIncPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Client; @@ -37,6 +38,8 @@ @SuppressWarnings("nls") public class ScorePriorityIncPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + /*** * Information: Score Priority is a US-based financial services company. The * currency is US$. All security currencies are USD. CUSIP Number: The CUSIP @@ -48,6 +51,7 @@ public class ScorePriorityIncPDFExtractorTest public void testAccountStatement01() { var extractor = new ScorePriorityIncPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -310,6 +314,7 @@ public void testAccountStatement01() public void testAccountStatement02() { var extractor = new ScorePriorityIncPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -355,10 +360,12 @@ public void testAccountStatement02() public void testAccountStatement03() { var extractor = new ScorePriorityIncPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); var results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "AccountStatement03.txt"), errors); + extractor.setNegativeValue(negativeValue); assertThat(errors, empty()); assertThat(countSecurities(results), is(11L)); @@ -712,10 +719,12 @@ public void testAccountStatement03() public void testAccountStatement04() { var extractor = new ScorePriorityIncPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); var results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "AccountStatement04.txt"), errors); + extractor.setNegativeValue(negativeValue); assertThat(errors, empty()); assertThat(countSecurities(results), is(7L)); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/selfwealth/SelfWealthPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/selfwealth/SelfWealthPDFExtractorTest.java index 755a6abe72..d5b16d7d1d 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/selfwealth/SelfWealthPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/selfwealth/SelfWealthPDFExtractorTest.java @@ -22,6 +22,7 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.SelfWealthPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Client; @@ -33,10 +34,13 @@ @SuppressWarnings("nls") public class SelfWealthPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testSecurityBuy01() { var extractor = new SelfWealthPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -87,6 +91,7 @@ public void testSecurityBuy01() public void testSecurityBuy02() { var extractor = new SelfWealthPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -137,6 +142,7 @@ public void testSecurityBuy02() public void testSecurityBuy03() { var extractor = new SelfWealthPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -187,6 +193,7 @@ public void testSecurityBuy03() public void testSecurityBuy04() { var extractor = new SelfWealthPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -237,6 +244,7 @@ public void testSecurityBuy04() public void testSecuritySell01() { var extractor = new SelfWealthPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -287,6 +295,7 @@ public void testSecuritySell01() public void testSecuritySell02() { var extractor = new SelfWealthPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/simpel/SimpelPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/simpel/SimpelPDFExtractorTest.java index 01535a50cd..65946a20b3 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/simpel/SimpelPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/simpel/SimpelPDFExtractorTest.java @@ -23,6 +23,7 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.SimpelPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Client; @@ -34,10 +35,13 @@ @SuppressWarnings("nls") public class SimpelPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new SimpelPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -88,6 +92,7 @@ public void testWertpapierKauf01() public void testWertpapierVerkauf01() { var extractor = new SimpelPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -140,6 +145,7 @@ public void testDividende01() var client = new Client(); var extractor = new SimpelPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -187,6 +193,7 @@ public void testDividende02() var client = new Client(); var extractor = new SimpelPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/solarisbank/SolarisbankAGPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/solarisbank/SolarisbankAGPDFExtractorTest.java index c1b84b4696..cbb6af229a 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/solarisbank/SolarisbankAGPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/solarisbank/SolarisbankAGPDFExtractorTest.java @@ -25,15 +25,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.SolarisbankAGPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class SolarisbankAGPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testGiroKontoauszug01() { var extractor = new SolarisbankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -71,6 +75,7 @@ public void testGiroKontoauszug01() public void testGiroKontoauszug02() { var extractor = new SolarisbankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -95,6 +100,7 @@ public void testGiroKontoauszug02() public void testGiroKontoauszug03() { var extractor = new SolarisbankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -119,6 +125,7 @@ public void testGiroKontoauszug03() public void testGiroKontoauszug04() { var extractor = new SolarisbankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -151,6 +158,7 @@ public void testGiroKontoauszug04() public void testReferenzkontoauszug01() { var extractor = new SolarisbankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/stakeshopptyltd/StakeshopPtyLtdPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/stakeshopptyltd/StakeshopPtyLtdPDFExtractorTest.java index c5e4bf3cd1..0cc4fb85d8 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/stakeshopptyltd/StakeshopPtyLtdPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/stakeshopptyltd/StakeshopPtyLtdPDFExtractorTest.java @@ -35,16 +35,20 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.StakeshopPtyLtdPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Security; @SuppressWarnings("nls") public class StakeshopPtyLtdPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testSecurityBuy01() { var extractor = new StakeshopPtyLtdPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -83,6 +87,7 @@ public void testSecurityBuy01_matchExistingSecurityByTickerWithoutExchange() client.addSecurity(flt); var extractor = new StakeshopPtyLtdPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -110,6 +115,7 @@ public void testSecurityBuy01_matchExistingSecurityByTickerWithoutExchange() public void testSecurityBuy02() { var extractor = new StakeshopPtyLtdPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -142,6 +148,7 @@ public void testSecurityBuy02() public void testSecuritySell01() { var extractor = new StakeshopPtyLtdPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -174,6 +181,7 @@ public void testSecuritySell01() public void testSecuritySell02() { var extractor = new StakeshopPtyLtdPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sunrise/SunrisePDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sunrise/SunrisePDFExtractorTest.java index f7b99316e8..db3a198059 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sunrise/SunrisePDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sunrise/SunrisePDFExtractorTest.java @@ -36,15 +36,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.SunrisePDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class SunrisePDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new SunrisePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -79,6 +83,7 @@ public void testWertpapierKauf01() public void testWertpapierKauf02() { var extractor = new SunrisePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -113,6 +118,7 @@ public void testWertpapierKauf02() public void testWertpapierKauf03() { var extractor = new SunrisePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -147,6 +153,7 @@ public void testWertpapierKauf03() public void testWertpapierKauf04() { var extractor = new SunrisePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -181,6 +188,7 @@ public void testWertpapierKauf04() public void testWertpapierKauf05() { var extractor = new SunrisePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -215,6 +223,7 @@ public void testWertpapierKauf05() public void testDividende22() { var extractor = new SunrisePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/suressedirektbank/SuresseDirektBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/suressedirektbank/SuresseDirektBankPDFExtractorTest.java index 464c01dda0..668d065d88 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/suressedirektbank/SuresseDirektBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/suressedirektbank/SuresseDirektBankPDFExtractorTest.java @@ -29,15 +29,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.SuresseDirektBankPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class SuresseDirektBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKontoauszug01() { var extractor = new SuresseDirektBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sutorbankgmbh/SutorBankGmbHPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sutorbankgmbh/SutorBankGmbHPDFExtractorTest.java index f0a5a2b517..68ed61ea38 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sutorbankgmbh/SutorBankGmbHPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sutorbankgmbh/SutorBankGmbHPDFExtractorTest.java @@ -51,6 +51,7 @@ import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.SutorBankGmbHPDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.TestCoinSearchProvider; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Client; @@ -64,6 +65,8 @@ @SuppressWarnings("nls") public class SutorBankGmbHPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + SutorBankGmbHPDFExtractor extractor = new SutorBankGmbHPDFExtractor(new Client()) { @Override @@ -77,6 +80,7 @@ protected List lookupCryptoProvider() public void testWertpapierKauf01() { var extractor = new SutorBankGmbHPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/swissquote/SwissquotePDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/swissquote/SwissquotePDFExtractorTest.java index d2bcd19edf..356010d7d5 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/swissquote/SwissquotePDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/swissquote/SwissquotePDFExtractorTest.java @@ -41,6 +41,7 @@ import java.util.ArrayList; import java.util.List; +import org.junit.Before; import org.junit.Test; import name.abuchen.portfolio.Messages; @@ -53,6 +54,7 @@ import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.SwissquotePDFExtractor; import name.abuchen.portfolio.datatransfer.pdf.TestCoinSearchProvider; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -68,6 +70,8 @@ @SuppressWarnings("nls") public class SwissquotePDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + SwissquotePDFExtractor extractor = new SwissquotePDFExtractor(new Client()) { @Override @@ -77,12 +81,19 @@ protected List lookupCryptoProvider() } }; + @Before + public void init() + { + extractor.setNegativeValue(negativeValue); + } + @Test public void testWertpapierKauf01() { var client = new Client(); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -135,6 +146,7 @@ public void testWertpapierKauf02() var client = new Client(); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -187,6 +199,7 @@ public void testWertpapierKauf03() var client = new Client(); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -247,6 +260,7 @@ public void testWertpapierKauf03WithSecurityInCHF() client.addSecurity(security); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -296,6 +310,7 @@ public void testWertpapierKauf04() var client = new Client(); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -348,6 +363,7 @@ public void testWertpapierKauf05() var client = new Client(); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -396,6 +412,7 @@ public void testWertpapierKauf05() public void testWertpapierKauf06() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -430,6 +447,7 @@ public void testWertpapierKauf06() public void testWertpapierKauf07() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -464,6 +482,7 @@ public void testWertpapierKauf07() public void testWertpapierKauf08() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -498,6 +517,7 @@ public void testWertpapierKauf08() public void testWertpapierKauf09() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -534,6 +554,7 @@ public void testSecurityBuy01() var client = new Client(); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -570,6 +591,7 @@ public void testWertpapierVerkauf01() var client = new Client(); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -622,6 +644,7 @@ public void testWertpapierVerkauf02() var client = new Client(); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -682,6 +705,7 @@ public void testWertpapierVerkauf02WithSecurityInCHF() client.addSecurity(security); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -729,6 +753,7 @@ public void testWertpapierVerkauf02WithSecurityInCHF() public void testWertpapierVerkauf03() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -763,6 +788,7 @@ public void testWertpapierVerkauf03() public void testWertpapierVerkauf04() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -797,6 +823,7 @@ public void testWertpapierVerkauf04() public void testWertpapierVerkauf05() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -831,6 +858,7 @@ public void testWertpapierVerkauf05() public void testWertpapierVerkauf06() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -867,6 +895,7 @@ public void testSecuritySell01() var client = new Client(); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -901,6 +930,7 @@ public void testSecuritySell01() public void testExpiryOption01() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -973,6 +1003,7 @@ public void testDividende01() var client = new Client(); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1024,6 +1055,7 @@ public void testDividende01WithSecurityInCHF() client.addSecurity(security); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1062,6 +1094,7 @@ public void testDividende02() var client = new Client(); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1109,6 +1142,7 @@ public void testDividende03() var client = new Client(); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1160,6 +1194,7 @@ public void testDividende03WithSecurityInCHF() client.addSecurity(security); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1198,6 +1233,7 @@ public void testDividende04() var client = new Client(); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1245,6 +1281,7 @@ public void testDividende05() var client = new Client(); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1292,6 +1329,7 @@ public void testDividende06() var client = new Client(); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1343,6 +1381,7 @@ public void testDividende06WithSecurityInCHF() client.addSecurity(security); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1379,6 +1418,7 @@ public void testDividende06WithSecurityInCHF() public void testDividende07() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1419,6 +1459,7 @@ public void testDividende07WithSecurityInCHF() client.addSecurity(security); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1455,6 +1496,7 @@ public void testDividende07WithSecurityInCHF() public void testDividende08() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1495,6 +1537,7 @@ public void testDividende08WithSecurityInCHF() client.addSecurity(security); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1531,6 +1574,7 @@ public void testDividende08WithSecurityInCHF() public void testDividende09() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1571,6 +1615,7 @@ public void testDividende09WithSecurityInCHF() client.addSecurity(security); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1607,6 +1652,7 @@ public void testDividende09WithSecurityInCHF() public void testDividende10() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1647,6 +1693,7 @@ public void testDividende10WithSecurityInCHF() client.addSecurity(security); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1683,6 +1730,7 @@ public void testDividende10WithSecurityInCHF() public void testDividende11() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1723,6 +1771,7 @@ public void testDividende11WithSecurityInCHF() client.addSecurity(security); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1758,6 +1807,7 @@ public void testDividende11WithSecurityInCHF() public void testDividende12() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1799,6 +1849,7 @@ public void testDividende12WithSecurityInCHF() client.addSecurity(security); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1834,6 +1885,7 @@ public void testDividende12WithSecurityInCHF() public void testDividende13() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1874,6 +1926,7 @@ public void testDividende13WithSecurityInCHF() client.addSecurity(security); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1903,6 +1956,7 @@ public void testDividende13WithSecurityInCHF() public void testZahlungsverkehr01() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1937,6 +1991,7 @@ public void testZahlungsverkehr01() public void testZahlungsverkehr02() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1971,6 +2026,7 @@ public void testZahlungsverkehr02() public void testZahlungsverkehr03() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2005,6 +2061,7 @@ public void testZahlungsverkehr03() public void testZahlungsverkehr04() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2041,6 +2098,7 @@ public void testZahlungsverkehr05() var client = new Client(); var extractor = new SwissquotePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2076,6 +2134,7 @@ public void testZahlungsverkehr05() public void testZinsabrechnung01() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2130,6 +2189,7 @@ public void testZinsabrechnung01() public void testKontoauszug01() { var extractor = new SwissquotePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sydbankas/SydbankASPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sydbankas/SydbankASPDFExtractorTest.java index 6787845000..49fd23fb23 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sydbankas/SydbankASPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/sydbankas/SydbankASPDFExtractorTest.java @@ -36,15 +36,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.SydbankASPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class SydbankASPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testSecurityBuy01() { var extractor = new SydbankASPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/targobank/TargobankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/targobank/TargobankPDFExtractorTest.java index 11972a12a1..c5c9a5927c 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/targobank/TargobankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/targobank/TargobankPDFExtractorTest.java @@ -43,6 +43,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.TargobankPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.Client; @@ -51,10 +52,13 @@ @SuppressWarnings("nls") public class TargobankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new TargobankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -483,6 +487,7 @@ public void testDividende01WithSecurityInEUR() client.addSecurity(security); var extractor = new TargobankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/tigerbrokerspteltd/TigerBrokersPteLtdPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/tigerbrokerspteltd/TigerBrokersPteLtdPDFExtractorTest.java index ce8404931e..3e69e44cb2 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/tigerbrokerspteltd/TigerBrokersPteLtdPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/tigerbrokerspteltd/TigerBrokersPteLtdPDFExtractorTest.java @@ -41,6 +41,7 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.TigerBrokersPteLtdPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Client; @@ -52,10 +53,13 @@ @SuppressWarnings("nls") public class TigerBrokersPteLtdPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testAccountStatement01() { var extractor = new TigerBrokersPteLtdPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -262,6 +266,7 @@ public void testAccountStatement01() public void testAccountStatement02() { var extractor = new TigerBrokersPteLtdPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -355,6 +360,7 @@ public void testAccountStatement02() public void testAccountStatement03() { var extractor = new TigerBrokersPteLtdPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -405,6 +411,7 @@ public void testAccountStatement03() public void testAccountStatement04() { var extractor = new TigerBrokersPteLtdPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -587,6 +594,7 @@ public void testAccountStatement04() public void testAccountStatement05() { var extractor = new TigerBrokersPteLtdPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -707,6 +715,7 @@ public void testAccountStatement05() public void testAccountStatement06() { var extractor = new TigerBrokersPteLtdPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -756,6 +765,7 @@ public void testAccountStatement06() public void testAccountStatement07() { var extractor = new TigerBrokersPteLtdPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -827,6 +837,7 @@ public void testAccountStatement07() public void testAccountStatement08() { var extractor = new TigerBrokersPteLtdPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -947,6 +958,7 @@ public void testAccountStatement08() public void testAccountStatement09() { var extractor = new TigerBrokersPteLtdPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -999,6 +1011,7 @@ public void testAccountStatement09() public void testAccountStatement10() { var extractor = new TigerBrokersPteLtdPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1031,6 +1044,7 @@ public void testAccountStatement10() public void testAccountStatement11() { var extractor = new TigerBrokersPteLtdPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/tradegateag/TradegateAGPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/tradegateag/TradegateAGPDFExtractorTest.java index d7c55cbfea..fe127059b4 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/tradegateag/TradegateAGPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/tradegateag/TradegateAGPDFExtractorTest.java @@ -41,16 +41,20 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.TradegateAGPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Security; @SuppressWarnings("nls") public class TradegateAGPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new TradegateAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -263,6 +267,7 @@ public void testDividende02WithSecurityInEUR() client.addSecurity(security); var extractor = new TradegateAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/traderepublic/TradeRepublicPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/traderepublic/TradeRepublicPDFExtractorTest.java index 99395d6d48..f840f1066b 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/traderepublic/TradeRepublicPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/traderepublic/TradeRepublicPDFExtractorTest.java @@ -46,6 +46,7 @@ import java.util.ArrayList; import java.util.List; +import org.junit.Before; import org.junit.Test; import name.abuchen.portfolio.Messages; @@ -58,6 +59,7 @@ import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.TestCoinSearchProvider; import name.abuchen.portfolio.datatransfer.pdf.TradeRepublicPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -75,6 +77,8 @@ @SuppressWarnings("nls") public class TradeRepublicPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + TradeRepublicPDFExtractor extractor = new TradeRepublicPDFExtractor(new Client()) { @Override @@ -84,10 +88,18 @@ protected List lookupCryptoProvider() } }; + @Before + public void init() + { + extractor.setNegativeValue(negativeValue); + } + @Test public void testWertpapierKauf01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -138,6 +150,7 @@ public void testWertpapierKauf01() public void testWertpapierKauf02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -188,6 +201,7 @@ public void testWertpapierKauf02() public void testWertpapierKauf03() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -238,6 +252,7 @@ public void testWertpapierKauf03() public void testWertpapierKauf04() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -288,6 +303,7 @@ public void testWertpapierKauf04() public void testWertpapierKauf05() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -338,6 +354,7 @@ public void testWertpapierKauf05() public void testWertpapierKauf06() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -388,6 +405,7 @@ public void testWertpapierKauf06() public void testWertpapierKauf07() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -438,6 +456,7 @@ public void testWertpapierKauf07() public void testWertpapierKauf08() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -488,6 +507,7 @@ public void testWertpapierKauf08() public void testWertpapierKauf09() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -522,6 +542,7 @@ public void testWertpapierKauf09() public void testWertpapierKauf10() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -556,6 +577,7 @@ public void testWertpapierKauf10() public void testWertpapierKauf11() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -590,6 +612,7 @@ public void testWertpapierKauf11() public void testWertpapierKauf12() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -624,6 +647,7 @@ public void testWertpapierKauf12() public void testWertpapierKauf13() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -658,6 +682,7 @@ public void testWertpapierKauf13() public void testWertpapierKauf14() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -692,6 +717,7 @@ public void testWertpapierKauf14() public void testWertpapierKauf15() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -726,6 +752,7 @@ public void testWertpapierKauf15() public void testWertpapierKauf16() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -760,6 +787,7 @@ public void testWertpapierKauf16() public void testWertpapierKauf17() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -794,6 +822,7 @@ public void testWertpapierKauf17() public void testWertpapierKauf18() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -828,6 +857,7 @@ public void testWertpapierKauf18() public void testWertpapierKauf19() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -862,6 +892,7 @@ public void testWertpapierKauf19() public void testWertpapierKauf20() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -896,6 +927,7 @@ public void testWertpapierKauf20() public void testWertpapierKauf21() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -930,6 +962,7 @@ public void testWertpapierKauf21() public void testSecurityBuy01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -964,6 +997,7 @@ public void testSecurityBuy01() public void testSecurityBuy02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -998,6 +1032,7 @@ public void testSecurityBuy02() public void testCompra01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1032,6 +1067,7 @@ public void testCompra01() public void testSecurityAcquisto01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1066,6 +1102,7 @@ public void testSecurityAcquisto01() public void testSecurityAcquisto02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1100,6 +1137,7 @@ public void testSecurityAcquisto02() public void testSecurityAcquisto03() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1450,6 +1488,7 @@ public void testCryptoVerkauf01() public void testAchat01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1500,6 +1539,7 @@ public void testAchat01() public void testAchat02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1534,6 +1574,7 @@ public void testAchat02() public void testAchat03() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1568,6 +1609,7 @@ public void testAchat03() public void testAchat04() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1602,6 +1644,7 @@ public void testAchat04() public void testAchat05() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1636,6 +1679,7 @@ public void testAchat05() public void testAchat06() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1670,6 +1714,7 @@ public void testAchat06() public void testKontoauszug01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1744,6 +1789,7 @@ public void testKontoauszug01() public void testKontoauszug02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1778,6 +1824,7 @@ public void testKontoauszug02() public void testKontoauszug03() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1812,6 +1859,7 @@ public void testKontoauszug03() public void testKontoauszug04() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1866,6 +1914,7 @@ public void testKontoauszug04() public void testKontoauszug05() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1932,6 +1981,7 @@ public void testKontoauszug05() public void testKontoauszug06() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2034,6 +2084,7 @@ public void testKontoauszug06() public void testKontoauszug07() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2196,6 +2247,7 @@ public void testKontoauszug07() public void testKontoauszug08() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2284,6 +2336,7 @@ public void testKontoauszug08() public void testKontoauszug09() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2330,6 +2383,7 @@ public void testKontoauszug09() public void testKontoauszug10() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2360,6 +2414,7 @@ public void testKontoauszug10() public void testKontoauszug11() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2422,6 +2477,7 @@ public void testKontoauszug11() public void testKontoauszug12() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2494,6 +2550,7 @@ public void testKontoauszug12() public void testKontoauszug13() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2562,6 +2619,7 @@ public void testKontoauszug13() public void testKontoauszug14() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2602,6 +2660,7 @@ public void testKontoauszug14() public void testKontoauszug15() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2648,6 +2707,7 @@ public void testKontoauszug15() public void testKontoauszug16() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2684,6 +2744,7 @@ public void testKontoauszug16() public void testKontoauszug17() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2708,6 +2769,7 @@ public void testKontoauszug17() public void testKontoauszug18() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2738,6 +2800,7 @@ public void testKontoauszug18() public void testKontoauszug19() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2814,6 +2877,7 @@ public void testKontoauszug19() public void testKontoauszug20() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2842,6 +2906,7 @@ public void testKontoauszug20() public void testKontoauszug21() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2970,6 +3035,7 @@ public void testKontoauszug21() public void testKontoauszug22() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2994,6 +3060,7 @@ public void testKontoauszug22() public void testKontoauszug23() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3032,6 +3099,7 @@ public void testKontoauszug23() public void testKontoauszug24() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3064,6 +3132,7 @@ public void testKontoauszug24() public void testKontoauszug25() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3096,6 +3165,7 @@ public void testKontoauszug25() public void testKontoauszug26() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3204,6 +3274,7 @@ public void testKontoauszug26() public void testKontoauszug27() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3434,6 +3505,7 @@ public void testKontoauszug27() public void testKontoauszug28() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3458,6 +3530,7 @@ public void testKontoauszug28() public void testKontoauszug29() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3486,6 +3559,7 @@ public void testKontoauszug29() public void testKontoauszug30() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3750,6 +3824,7 @@ public void testKontoauszug30() public void testKontoauszug31() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3832,6 +3907,7 @@ public void testKontoauszug31() public void testKontoauszug32() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3856,6 +3932,7 @@ public void testKontoauszug32() public void testKontoauszug33() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3889,6 +3966,7 @@ public void testKontoauszug33() public void testKontoauszug34() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3922,6 +4000,7 @@ public void testKontoauszug34() public void testKontoauszug35() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3951,6 +4030,7 @@ public void testKontoauszug35() public void testKontoauszug36() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3981,6 +4061,7 @@ public void testKontoauszug36() public void testKontoauszug37() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4008,6 +4089,7 @@ public void testKontoauszug37() public void testKontoauszug38() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4037,6 +4119,7 @@ public void testKontoauszug38() public void testKontoauszug39() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4061,6 +4144,7 @@ public void testKontoauszug39() public void testKontoauszug40() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4094,6 +4178,7 @@ public void testKontoauszug40() public void testEstrattoContoRiassuntivo01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4153,6 +4238,7 @@ public void testEstrattoContoRiassuntivo01() public void testReleveDeCompte01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4201,6 +4287,7 @@ public void testReleveDeCompte01() public void testReleveDeCompte02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4239,6 +4326,7 @@ public void testReleveDeCompte02() public void testReleveDeCompte03() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4285,6 +4373,7 @@ public void testReleveDeCompte03() public void testTransaccionesDeCuenta01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4743,6 +4832,7 @@ public void testTransaccionesDeCuenta01() public void testTransaccionesDeCuenta02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4865,6 +4955,7 @@ public void testTransaccionesDeCuenta02() public void testTransaccionesDeCuenta03() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4955,6 +5046,7 @@ public void testTransaccionesDeCuenta03() public void testTransaccionesDeCuenta04() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -4988,6 +5080,7 @@ public void testTransaccionesDeCuenta04() public void testTransaccionesDeCuenta05() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5030,6 +5123,7 @@ public void testTransaccionesDeCuenta05() public void testTransaccionesDeCuenta06() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5064,6 +5158,7 @@ public void testTransaccionesDeCuenta06() public void testTransaccionesDeCuenta07() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5110,6 +5205,7 @@ public void testTransaccionesDeCuenta07() public void testTransaccionesDeCuenta08() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5164,6 +5260,7 @@ public void testTransaccionesDeCuenta08() public void testAccountStatementSummary01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5200,6 +5297,7 @@ public void testAccountStatementSummary01() public void testAccountStatementSummary02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5258,6 +5356,7 @@ public void testAccountStatementSummary02() public void testTransaccionesDeCuenta09() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5290,6 +5389,7 @@ public void testTransaccionesDeCuenta09() public void testSteuerabrechnung01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5326,6 +5426,7 @@ public void testSteuerabrechnung01() public void testSteuerabrechnung02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5360,6 +5461,7 @@ public void testSteuerabrechnung02() public void testSteuerabrechnung03() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5394,6 +5496,7 @@ public void testSteuerabrechnung03() public void testSteuerabrechnung04() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5428,6 +5531,7 @@ public void testSteuerabrechnung04() public void testSteueroptimierung01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5456,6 +5560,7 @@ public void testSteueroptimierung01() public void testSteueroptimierung02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5484,6 +5589,7 @@ public void testSteueroptimierung02() public void testSteueroptimierung03() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5512,6 +5618,7 @@ public void testSteueroptimierung03() public void testSteuerkorrektur01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5560,6 +5667,7 @@ public void testSteuerkorrektur01() public void testStornoSteuerkorrektur01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5603,6 +5711,7 @@ public void testStornoSteuerkorrektur01WithSecurityInUSD() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5640,6 +5749,7 @@ public void testStornoSteuerkorrektur01WithSecurityInUSD() public void testWertpapierVerkauf01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5690,6 +5800,7 @@ public void testWertpapierVerkauf01() public void testWertpapierVerkauf02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5756,6 +5867,7 @@ public void testWertpapierVerkauf02() public void testWertpapierVerkauf03() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5822,6 +5934,7 @@ public void testWertpapierVerkauf03() public void testWertpapierVerkauf04() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5871,6 +5984,7 @@ public void testWertpapierVerkauf04() public void testWertpapierVerkauf05() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5920,6 +6034,7 @@ public void testWertpapierVerkauf05() public void testWertpapierVerkauf06() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -5985,6 +6100,7 @@ public void testWertpapierVerkauf06() public void testWertpapierVerkauf07() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6051,6 +6167,7 @@ public void testWertpapierVerkauf07() public void testWertpapierVerkauf08() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6117,6 +6234,7 @@ public void testWertpapierVerkauf08() public void testWertpapierVerkauf09() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6151,6 +6269,7 @@ public void testWertpapierVerkauf09() public void testWertpapierVerkauf10() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6185,6 +6304,7 @@ public void testWertpapierVerkauf10() public void testWertpapierVerkauf11() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6221,6 +6341,7 @@ public void testWertpapierVerkauf11() public void testSecuritySell01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6255,6 +6376,7 @@ public void testSecuritySell01() public void testVenta01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6289,6 +6411,7 @@ public void testVenta01() public void testVente01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6323,6 +6446,7 @@ public void testVente01() public void testRepayment01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6357,6 +6481,7 @@ public void testRepayment01() public void testTilgung01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6422,6 +6547,7 @@ public void testTilgung01() public void testTilgung02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6471,6 +6597,7 @@ public void testTilgung02() public void testTilgung03() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6505,6 +6632,7 @@ public void testTilgung03() public void testAusbuchung01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6539,6 +6667,7 @@ public void testAusbuchung01() public void testDividendeStorno01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6593,6 +6722,7 @@ public void testDividendeStorno01WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6633,6 +6763,7 @@ public void testDividendeStorno01WithSecurityInEUR() public void testDividendeStorno02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6690,6 +6821,7 @@ public void testDividendeStorno02() public void testDividendeStorno03() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6726,6 +6858,7 @@ public void testDividendeStorno03() public void testDividende01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6780,6 +6913,7 @@ public void testDividende01WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6822,6 +6956,7 @@ public void testDividende01WithSecurityInEUR() public void testDividende02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6877,6 +7012,7 @@ public void testDividende02WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6920,6 +7056,7 @@ public void testDividende02WithSecurityInEUR() public void testDividende03() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -6975,6 +7112,7 @@ public void testDividende03WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7018,6 +7156,7 @@ public void testDividende03WithSecurityInEUR() public void testDividende04() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7063,6 +7202,7 @@ public void testDividende04() public void testDividende05() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7117,6 +7257,7 @@ public void testDividende05WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7159,6 +7300,7 @@ public void testDividende05WithSecurityInEUR() public void testDividende06() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7214,6 +7356,7 @@ public void testDividende06WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7257,6 +7400,7 @@ public void testDividende06WithSecurityInEUR() public void testDividende07() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7311,6 +7455,7 @@ public void testDividende07WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7353,6 +7498,7 @@ public void testDividende07WithSecurityInEUR() public void testDividende08() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7407,6 +7553,7 @@ public void testDividende08WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7449,6 +7596,7 @@ public void testDividende08WithSecurityInEUR() public void testDividende09() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7494,6 +7642,7 @@ public void testDividende09() public void testDividende10() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7540,6 +7689,7 @@ public void testDividende10() public void testDividende11() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7585,6 +7735,7 @@ public void testDividende11() public void testDividende12() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7660,6 +7811,7 @@ public void testDividende12WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7723,6 +7875,7 @@ public void testDividende12WithSecurityInEUR() public void testDividende13() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7768,6 +7921,7 @@ public void testDividende13() public void testDividende14() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7822,6 +7976,7 @@ public void testDividende14WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7864,6 +8019,7 @@ public void testDividende14WithSecurityInEUR() public void testDividende15() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7905,6 +8061,7 @@ public void testDividende15WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7933,6 +8090,7 @@ public void testDividende15WithSecurityInEUR() public void testDividende16() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -7983,6 +8141,7 @@ public void testDividende16WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8019,6 +8178,7 @@ public void testDividende16WithSecurityInEUR() public void testDividende17() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8060,6 +8220,7 @@ public void testDividende17WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8088,6 +8249,7 @@ public void testDividende17WithSecurityInEUR() public void testDividende18() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8122,6 +8284,7 @@ public void testDividende18() public void testDividende19() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8164,6 +8327,7 @@ public void testDividende19() public void testDividende20() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8205,6 +8369,7 @@ public void testDividende20WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8233,6 +8398,7 @@ public void testDividende20WithSecurityInEUR() public void testDividende21() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8267,6 +8433,7 @@ public void testDividende21() public void testDividende22() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8301,6 +8468,7 @@ public void testDividende22() public void testDividende23() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8342,6 +8510,7 @@ public void testDividende23WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8370,6 +8539,7 @@ public void testDividende23WithSecurityInEUR() public void testDividende24() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8411,6 +8581,7 @@ public void testDividende24WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8439,6 +8610,7 @@ public void testDividende24WithSecurityInEUR() public void testDividende25() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8481,6 +8653,7 @@ public void testDividende25() public void testDividende26() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8515,6 +8688,7 @@ public void testDividende26() public void testDividende27() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8556,6 +8730,7 @@ public void testDividende27WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8584,6 +8759,7 @@ public void testDividende27WithSecurityInEUR() public void testDividende28() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8625,6 +8801,7 @@ public void testDividende28WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8653,6 +8830,7 @@ public void testDividende28WithSecurityInEUR() public void testDividende29() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8694,6 +8872,7 @@ public void testDividende29WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8722,6 +8901,7 @@ public void testDividende29WithSecurityInEUR() public void testDividend01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8763,6 +8943,7 @@ public void testDividend01WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8791,6 +8972,7 @@ public void testDividend01WithSecurityInEUR() public void testDividend02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8832,6 +9014,7 @@ public void testDividend02WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8860,6 +9043,7 @@ public void testDividend02WithSecurityInEUR() public void testDividend03() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8894,6 +9078,7 @@ public void testDividend03() public void testDividend04() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8935,6 +9120,7 @@ public void testDividend04WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -8963,6 +9149,7 @@ public void testDividend04WithSecurityInEUR() public void testDividend05() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9004,6 +9191,7 @@ public void testDividend05WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9032,6 +9220,7 @@ public void testDividend05WithSecurityInEUR() public void testDividend06() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9073,6 +9262,7 @@ public void testDividend06WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9101,6 +9291,7 @@ public void testDividend06WithSecurityInEUR() public void testDividend07() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9142,6 +9333,7 @@ public void testDividend07WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9170,6 +9362,7 @@ public void testDividend07WithSecurityInEUR() public void testDividend08() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9211,6 +9404,7 @@ public void testDividend08WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9239,6 +9433,7 @@ public void testDividend08WithSecurityInEUR() public void testDividend09() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9280,6 +9475,7 @@ public void testDividend09WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9308,6 +9504,7 @@ public void testDividend09WithSecurityInEUR() public void testDividendo01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9349,6 +9546,7 @@ public void testDividendo01WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9377,6 +9575,7 @@ public void testDividendo01WithSecurityInEUR() public void testDistribuzione01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9411,6 +9610,7 @@ public void testDistribuzione01() public void testKaptialreduktion01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9465,6 +9665,7 @@ public void testKaptialreduktion01WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9507,6 +9708,7 @@ public void testKaptialreduktion01WithSecurityInEUR() public void testKapitalerhoehungGegenBar01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9544,6 +9746,7 @@ public void testKapitalerhoehungGegenBar01() public void testDepotuebertragEingehend() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9580,6 +9783,7 @@ public void testDepotuebertragEingehend() public void testSpinOff01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9616,6 +9820,7 @@ public void testSpinOff01() public void testUmtausch01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9652,6 +9857,7 @@ public void testUmtausch01() public void testUmtausch02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9688,6 +9894,7 @@ public void testUmtausch02() public void testVorabpauschale01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9733,6 +9940,7 @@ public void testVorabpauschale01() public void testVorabpauschale02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9769,6 +9977,7 @@ public void testVorabpauschale02() public void testVorabpauschale03() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9803,6 +10012,7 @@ public void testVorabpauschale03() public void testVorabpauschale04() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9837,6 +10047,7 @@ public void testVorabpauschale04() public void testVorabpauschale05() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9871,6 +10082,7 @@ public void testVorabpauschale05() public void testSparplan01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9921,6 +10133,7 @@ public void testSparplan01() public void testSparplan02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -9971,6 +10184,7 @@ public void testSparplan02() public void testSparplan03() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10021,6 +10235,7 @@ public void testSparplan03() public void testSparplan04() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10071,6 +10286,7 @@ public void testSparplan04() public void testSparplan05() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10121,6 +10337,7 @@ public void testSparplan05() public void testSparplan06() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10155,6 +10372,8 @@ public void testSparplan06() public void testSparplan07() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10189,6 +10408,8 @@ public void testSparplan07() public void testSparplan08() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10223,6 +10444,8 @@ public void testSparplan08() public void testSparplan09() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10257,6 +10480,8 @@ public void testSparplan09() public void testSparplan10() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10291,6 +10516,8 @@ public void testSparplan10() public void testSparplan11() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10325,6 +10552,8 @@ public void testSparplan11() public void testPianoDinvestimento01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10359,6 +10588,8 @@ public void testPianoDinvestimento01() public void testPlanDeInvestion01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10393,6 +10624,8 @@ public void testPlanDeInvestion01() public void testPlanDeInvestion02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10427,6 +10660,7 @@ public void testPlanDeInvestion02() public void testFusion01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10478,6 +10712,7 @@ public void testFusion01() public void testSplit01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10514,6 +10749,8 @@ public void testSplit01() public void testZwangsuebernahme01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10555,6 +10792,7 @@ public void testZwangsuebernahme01WithSecurityInEUR() client.addSecurity(security); var extractor = new TradeRepublicPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10588,6 +10826,7 @@ public void testZwangsuebernahme01WithSecurityInEUR() public void testSteuerlicherUmtausch01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10624,6 +10863,7 @@ public void testSteuerlicherUmtausch01() public void testSteuerlicherUmtausch02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10660,6 +10900,7 @@ public void testSteuerlicherUmtausch02() public void testVergleichsverfahren01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10711,6 +10952,7 @@ public void testVergleichsverfahren01() public void testTitelumtausch01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10762,6 +11004,8 @@ public void testTitelumtausch01() public void testEinzahlungsabrechnung01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10790,6 +11034,8 @@ public void testEinzahlungsabrechnung01() public void testEinzahlungsabrechnung02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10818,6 +11064,8 @@ public void testEinzahlungsabrechnung02() public void testEinzahlungsabrechnung03() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10846,6 +11094,8 @@ public void testEinzahlungsabrechnung03() public void testReglementDuVersement01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10874,6 +11124,8 @@ public void testReglementDuVersement01() public void testZinsabrechnung01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10902,6 +11154,8 @@ public void testZinsabrechnung01() public void testZinsabrechnung02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10930,6 +11184,8 @@ public void testZinsabrechnung02() public void testZinsabrechnung03() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10958,6 +11214,8 @@ public void testZinsabrechnung03() public void testZinsabrechnung04() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -10994,6 +11252,8 @@ public void testZinsabrechnung04() public void testZinsabrechnung05() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -11022,6 +11282,8 @@ public void testZinsabrechnung05() public void testZinsabrechnung06() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -11058,6 +11320,8 @@ public void testZinsabrechnung06() public void testZinsabrechnung07() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -11086,6 +11350,8 @@ public void testZinsabrechnung07() public void testZinsabrechnung08() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -11122,6 +11388,8 @@ public void testZinsabrechnung08() public void testZinsabrechnung09() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -11150,6 +11418,8 @@ public void testZinsabrechnung09() public void testRapportDInterets01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -11178,6 +11448,8 @@ public void testRapportDInterets01() public void testZinsabrechnung10() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -11206,6 +11478,8 @@ public void testZinsabrechnung10() public void testRapportDInterets02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -11234,6 +11508,8 @@ public void testRapportDInterets02() public void testRescontoInteressiMaturati01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -11263,6 +11539,8 @@ public void testRescontoInteressiMaturati01() public void testInterestInvoice01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -11291,6 +11569,8 @@ public void testInterestInvoice01() public void testInterestInvoice02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -11320,6 +11600,8 @@ public void testInterestInvoice02() public void testSynthese01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -11348,6 +11630,8 @@ public void testSynthese01() public void testUeberweisungsdetails01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -11372,6 +11656,8 @@ public void testUeberweisungsdetails01() public void testUeberweisungsdetails02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -11396,6 +11682,8 @@ public void testUeberweisungsdetails02() public void testExAnte01() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -11430,6 +11718,8 @@ public void testExAnte01() public void testExAnte02() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -11464,6 +11754,8 @@ public void testExAnte02() public void testExAnte03() { var extractor = new TradeRepublicPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ubsag/UBSAGPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ubsag/UBSAGPDFExtractorTest.java index 7df4748c26..fe513eb9d1 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ubsag/UBSAGPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/ubsag/UBSAGPDFExtractorTest.java @@ -43,6 +43,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.UBSAGBankingAGPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -56,10 +57,13 @@ @SuppressWarnings("nls") public class UBSAGPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new UBSAGBankingAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -117,6 +121,7 @@ public void testWertpapierKauf01WithSecurityInCHF() client.addSecurity(security); var extractor = new UBSAGBankingAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -168,6 +173,7 @@ public void testWertpapierKauf01WithSecurityInCHF() public void testWertpapierKauf02() { var extractor = new UBSAGBankingAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -218,6 +224,7 @@ public void testWertpapierKauf02() public void testWertpapierKauf03() { var extractor = new UBSAGBankingAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -279,6 +286,7 @@ public void testWertpapierKauf03WithSecurityInUSD() client.addSecurity(security); var extractor = new UBSAGBankingAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -330,6 +338,7 @@ public void testWertpapierKauf03WithSecurityInUSD() public void testWertpapierVerkauf01() { var extractor = new UBSAGBankingAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -387,6 +396,7 @@ public void testWertpapierVerkauf01WithSecurityInCHF() client.addSecurity(security); var extractor = new UBSAGBankingAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -438,6 +448,7 @@ public void testWertpapierVerkauf01WithSecurityInCHF() public void testWertpapierVerkauf02() { var extractor = new UBSAGBankingAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -488,6 +499,7 @@ public void testWertpapierVerkauf02() public void testWertpapierVerkauf03() { var extractor = new UBSAGBankingAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -550,6 +562,7 @@ public void testWertpapierVerkauf03WithSecurityInUSD() client.addSecurity(security); var extractor = new UBSAGBankingAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -601,6 +614,7 @@ public void testWertpapierVerkauf03WithSecurityInUSD() public void testWertpapierVerkauf04() { var extractor = new UBSAGBankingAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -651,6 +665,7 @@ public void testWertpapierVerkauf04() public void testWertpapierVerkauf05() { var extractor = new UBSAGBankingAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -701,6 +716,7 @@ public void testWertpapierVerkauf05() public void testWertpapierVerkauf06() { var extractor = new UBSAGBankingAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -762,6 +778,7 @@ public void testWertpapierVerkauf06WithSecurityInCHF() client.addSecurity(security); var extractor = new UBSAGBankingAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -808,6 +825,7 @@ public void testWertpapierVerkauf06WithSecurityInCHF() public void testDividende01() { var extractor = new UBSAGBankingAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -864,6 +882,7 @@ public void testDividende01WithSecurityInCHF() client.addSecurity(security); var extractor = new UBSAGBankingAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -906,6 +925,7 @@ public void testDividende01WithSecurityInCHF() public void testDividende02() { var extractor = new UBSAGBankingAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -949,6 +969,7 @@ public void testDividende02WithSecurityInCHF() client.addSecurity(security); var extractor = new UBSAGBankingAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -984,6 +1005,7 @@ public void testDividende02WithSecurityInCHF() public void testDepotAccountFee01() { var extractor = new UBSAGBankingAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/umweltbankag/UmweltbankAGPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/umweltbankag/UmweltbankAGPDFExtractorTest.java index 8b49b980ab..9e243cdf8d 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/umweltbankag/UmweltbankAGPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/umweltbankag/UmweltbankAGPDFExtractorTest.java @@ -34,15 +34,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.UmweltbankAGPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class UmweltbankAGPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierkauf01() { var extractor = new UmweltbankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -77,6 +81,7 @@ public void testWertpapierkauf01() public void testWertpapierkauf02() { var extractor = new UmweltbankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/unicredit/UnicreditPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/unicredit/UnicreditPDFExtractorTest.java index 9dce226f8d..b8f66bd512 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/unicredit/UnicreditPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/unicredit/UnicreditPDFExtractorTest.java @@ -45,6 +45,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.UnicreditPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Client; @@ -58,10 +59,13 @@ @SuppressWarnings("nls") public class UnicreditPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new UnicreditPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -112,6 +116,7 @@ public void testWertpapierKauf01() public void testWertpapierKauf02() { var extractor = new UnicreditPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -162,6 +167,7 @@ public void testWertpapierKauf02() public void testWertpapierKauf03() { var extractor = new UnicreditPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -204,6 +210,7 @@ public void testWertpapierKauf03WithSecurityInEUR() client.addSecurity(security); var extractor = new UnicreditPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -237,6 +244,7 @@ public void testWertpapierKauf03WithSecurityInEUR() public void testWertpapierKauf04() { var extractor = new UnicreditPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -271,6 +279,7 @@ public void testWertpapierKauf04() public void testWertpapierVerkauf01() { var extractor = new UnicreditPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -321,6 +330,7 @@ public void testWertpapierVerkauf01() public void testWertpapierVerkauf02() { var extractor = new UnicreditPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -355,6 +365,7 @@ public void testWertpapierVerkauf02() public void testDividende01() { var extractor = new UnicreditPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -400,6 +411,7 @@ public void testDividende01() public void testDividende02() { var extractor = new UnicreditPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/vanguardgroupeurope/VanguardGroupEuropePDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/vanguardgroupeurope/VanguardGroupEuropePDFExtractorTest.java index 4892fb4917..1a5a26c1d5 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/vanguardgroupeurope/VanguardGroupEuropePDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/vanguardgroupeurope/VanguardGroupEuropePDFExtractorTest.java @@ -43,6 +43,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.VanguardGroupEuropePDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -56,12 +57,15 @@ @SuppressWarnings("nls") public class VanguardGroupEuropePDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var client = new Client(); var extractor = new VanguardGroupEuropePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -114,6 +118,7 @@ public void testWertpapierKauf02() var client = new Client(); var extractor = new VanguardGroupEuropePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -166,6 +171,7 @@ public void testWertpapierKauf03() var client = new Client(); var extractor = new VanguardGroupEuropePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -216,6 +222,7 @@ public void testWertpapierKauf03() public void testWertpapierVerkauf01() { var extractor = new VanguardGroupEuropePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -250,6 +257,7 @@ public void testWertpapierVerkauf01() public void testDividende01() { var extractor = new VanguardGroupEuropePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -284,6 +292,7 @@ public void testDividende01() public void testDividende02() { var extractor = new VanguardGroupEuropePDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -325,6 +334,7 @@ public void testDividende02WithSecurityInEUR() client.addSecurity(security); var extractor = new VanguardGroupEuropePDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/vbankag/VBankAGPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/vbankag/VBankAGPDFExtractorTest.java index 0d96ac82d9..df6d1fab2b 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/vbankag/VBankAGPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/vbankag/VBankAGPDFExtractorTest.java @@ -25,6 +25,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.VBankAGPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -38,10 +39,13 @@ @SuppressWarnings("nls") public class VBankAGPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new VBankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -92,6 +96,7 @@ public void testWertpapierKauf01() public void testWertpapierKauf02() { var extractor = new VBankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -153,6 +158,7 @@ public void testWertpapierKauf02WithSecurityInEUR() client.addSecurity(security); var extractor = new VBankAGPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -200,6 +206,7 @@ public void testWertpapierKauf02WithSecurityInEUR() public void testWertpapierVerkauf01() { var extractor = new VBankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -250,6 +257,7 @@ public void testWertpapierVerkauf01() public void testWertpapierVerkauf02() { var extractor = new VBankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -300,6 +308,7 @@ public void testWertpapierVerkauf02() public void testWertpapierDividende01() { var extractor = new VBankAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/vdkbanknv/VDKBankNVPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/vdkbanknv/VDKBankNVPDFExtractorTest.java index cf46a0d2b1..185a494ccb 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/vdkbanknv/VDKBankNVPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/vdkbanknv/VDKBankNVPDFExtractorTest.java @@ -40,6 +40,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.VDKBankNVPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Portfolio; import name.abuchen.portfolio.model.PortfolioTransaction; @@ -48,10 +49,13 @@ @SuppressWarnings("nls") public class VDKBankNVPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testAankoop01() { var extractor = new VDKBankNVPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -93,6 +97,7 @@ public void testAankoop01WithSecurityInEUR() client.addSecurity(security); var extractor = new VDKBankNVPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -126,6 +131,7 @@ public void testAankoop01WithSecurityInEUR() public void testVerkoop01() { var extractor = new VDKBankNVPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -160,6 +166,7 @@ public void testVerkoop01() public void testVerkoop02() { var extractor = new VDKBankNVPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -201,6 +208,7 @@ public void testVerkoop02WithSecurityInEUR() client.addSecurity(security); var extractor = new VDKBankNVPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -234,6 +242,7 @@ public void testVerkoop02WithSecurityInEUR() public void testDividende01() { var extractor = new VDKBankNVPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/volkswagenbank/VolkswagenBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/volkswagenbank/VolkswagenBankPDFExtractorTest.java index 2a8264625a..c12051311e 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/volkswagenbank/VolkswagenBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/volkswagenbank/VolkswagenBankPDFExtractorTest.java @@ -30,15 +30,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.VolkswagenBankPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class VolkswagenBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testKontoauszug01() { var extractor = new VolkswagenBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/vzvermoegenszentrumag/VZVermoegenszentrumAGPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/vzvermoegenszentrumag/VZVermoegenszentrumAGPDFExtractorTest.java index 45b1a8585a..a35f38c55b 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/vzvermoegenszentrumag/VZVermoegenszentrumAGPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/vzvermoegenszentrumag/VZVermoegenszentrumAGPDFExtractorTest.java @@ -35,15 +35,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.VZVermoegenszentrumAGPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class VZVermoegenszentrumAGPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new VZVermoegenszentrumAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -78,6 +82,7 @@ public void testWertpapierKauf01() public void testWertpapierKauf02() { var extractor = new VZVermoegenszentrumAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -112,6 +117,7 @@ public void testWertpapierKauf02() public void testDividende01() { var extractor = new VZVermoegenszentrumAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -146,6 +152,7 @@ public void testDividende01() public void testDividende02() { var extractor = new VZVermoegenszentrumAGPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/wealthsimpleInvestmentsInc/WealthsimpleInvestmentsIncPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/wealthsimpleInvestmentsInc/WealthsimpleInvestmentsIncPDFExtractorTest.java index 93a89b661f..bd5e100dc8 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/wealthsimpleInvestmentsInc/WealthsimpleInvestmentsIncPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/wealthsimpleInvestmentsInc/WealthsimpleInvestmentsIncPDFExtractorTest.java @@ -24,6 +24,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.WealthsimpleInvestmentsIncPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -39,12 +40,15 @@ @SuppressWarnings("nls") public class WealthsimpleInvestmentsIncPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testDepotStatement01() { Client client = new Client(); - WealthsimpleInvestmentsIncPDFExtractor extractor = new WealthsimpleInvestmentsIncPDFExtractor(client); + var extractor = new WealthsimpleInvestmentsIncPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1590,6 +1594,7 @@ public void testtestDepotStatement01WithAllSecuritiesInUSD() client.addSecurity(security8); WealthsimpleInvestmentsIncPDFExtractor extractor = new WealthsimpleInvestmentsIncPDFExtractor(client); + extractor.setNegativeValue(negativeValue); CheckCurrenciesAction c = new CheckCurrenciesAction(); Account account = new Account(); @@ -3084,6 +3089,7 @@ public void testDepotStatement02() Client client = new Client(); WealthsimpleInvestmentsIncPDFExtractor extractor = new WealthsimpleInvestmentsIncPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -3571,6 +3577,7 @@ public void testtestDepotStatement02WithAllSecuritiesInUSD() client.addSecurity(security2); WealthsimpleInvestmentsIncPDFExtractor extractor = new WealthsimpleInvestmentsIncPDFExtractor(client); + extractor.setNegativeValue(negativeValue); CheckCurrenciesAction c = new CheckCurrenciesAction(); Account account = new Account(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/weberbank/WeberbankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/weberbank/WeberbankPDFExtractorTest.java index dea0d2a762..3d585cbaab 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/weberbank/WeberbankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/weberbank/WeberbankPDFExtractorTest.java @@ -25,6 +25,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.WeberbankPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -38,10 +39,13 @@ @SuppressWarnings("nls") public class WeberbankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new WeberbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -92,6 +96,7 @@ public void testWertpapierKauf01() public void testWertpapierVerkauf01() { var extractor = new WeberbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -144,6 +149,7 @@ public void testDividende01() var client = new Client(); var extractor = new WeberbankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -200,6 +206,7 @@ public void testDividende01WithSecurityInEUR() client.addSecurity(security); var extractor = new WeberbankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/wirbank/WirBankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/wirbank/WirBankPDFExtractorTest.java index 7f55bedb89..ca29f313b8 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/wirbank/WirBankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/wirbank/WirBankPDFExtractorTest.java @@ -51,6 +51,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.WirBankPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; @@ -66,12 +67,15 @@ @SuppressWarnings("nls") public class WirBankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -132,6 +136,7 @@ public void testWertpapierKauf01WithSecurityInCHF() client.addSecurity(security); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -181,6 +186,7 @@ public void testWertpapierKauf02() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -233,6 +239,7 @@ public void testWertpapierKauf03() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -293,6 +300,7 @@ public void testWertpapierKauf03WithSecurityInCHF() client.addSecurity(security); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -342,6 +350,7 @@ public void testWertpapierKauf04() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -394,6 +403,7 @@ public void testWertpapierKauf05() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -454,6 +464,7 @@ public void testWertpapierKauf05WithSecurityInCHF() client.addSecurity(security); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -503,6 +514,7 @@ public void testWertpapierKauf06() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -563,6 +575,7 @@ public void testWertpapierKauf06WithSecurityInCHF() client.addSecurity(security); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -612,6 +625,7 @@ public void testWertpapierKauf07() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -672,6 +686,7 @@ public void testWertpapierKauf07WithSecurityInCHF() client.addSecurity(security); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -719,6 +734,7 @@ public void testWertpapierKauf07WithSecurityInCHF() public void testWertpapierKauf08() { var extractor = new WirBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -760,6 +776,7 @@ public void testWertpapierKauf08WithSecurityInCHF() client.addSecurity(security); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -793,6 +810,7 @@ public void testWertpapierKauf08WithSecurityInCHF() public void testWertpapierKauf09() { var extractor = new WirBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -827,6 +845,7 @@ public void testWertpapierKauf09() public void testWertpapierKauf10() { var extractor = new WirBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -868,6 +887,7 @@ public void testWertpapierKauf10WithSecurityInCHF() client.addSecurity(security); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -903,6 +923,7 @@ public void testWertpapierKauf11() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -963,6 +984,7 @@ public void testWertpapierKauf11WithSecurityInCHF() client.addSecurity(security); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -998,6 +1020,7 @@ public void testWertpapierKauf12() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1050,6 +1073,7 @@ public void testInterest01() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1087,6 +1111,7 @@ public void testInterest02() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1124,6 +1149,7 @@ public void testInterest03() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1161,6 +1187,7 @@ public void testInterest04() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1196,6 +1223,7 @@ public void testInterest04() public void testInterest05() { var extractor = new WirBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1226,6 +1254,7 @@ public void testInterest06() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1256,6 +1285,7 @@ public void testFees01() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1293,6 +1323,7 @@ public void testFees02() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1328,6 +1359,7 @@ public void testFees02() public void testFees03() { var extractor = new WirBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1358,6 +1390,7 @@ public void testFees03() public void testFees04() { var extractor = new WirBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1386,6 +1419,7 @@ public void testFees04() public void testFees05() { var extractor = new WirBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1416,6 +1450,7 @@ public void testCreditNote01() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1453,6 +1488,7 @@ public void testCreditNote02() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1490,6 +1526,7 @@ public void testCreditNote03() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1527,6 +1564,7 @@ public void testCreditNote04() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1556,6 +1594,7 @@ public void testDividende01() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1603,6 +1642,7 @@ public void testDividende02() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1657,6 +1697,7 @@ public void testDividende02WithSecurityInCHF() client.addSecurity(security); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1701,6 +1742,7 @@ public void testDividende03() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1755,6 +1797,7 @@ public void testDividende03WithSecurityInCHF() client.addSecurity(security); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1799,6 +1842,7 @@ public void testDividende04() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1853,6 +1897,7 @@ public void testDividende04WithSecurityInCHF() client.addSecurity(security); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1895,6 +1940,7 @@ public void testDividende04WithSecurityInCHF() public void testDividende05() { var extractor = new WirBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1929,6 +1975,7 @@ public void testDividende05() public void testDividende06() { var extractor = new WirBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -1970,6 +2017,7 @@ public void testtestDividende06WithSecurityInCHF() client.addSecurity(security); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2007,6 +2055,7 @@ public void testWertpapierVerkauf01() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2067,6 +2116,7 @@ public void testWertpapierVerkauf01WithSecurityInCHF() client.addSecurity(security); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2116,6 +2166,7 @@ public void testWertpapierVerkauf02() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2168,6 +2219,7 @@ public void testWertpapierVerkauf03() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2228,6 +2280,7 @@ public void testWertpapierVerkauf03WithSecurityInCHF() client.addSecurity(security); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2275,6 +2328,7 @@ public void testWertpapierVerkauf03WithSecurityInCHF() public void testWertpapierVerkauf04() { var extractor = new WirBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2309,6 +2363,7 @@ public void testWertpapierVerkauf04() public void testWertpapierVerkauf05() { var extractor = new WirBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2348,6 +2403,7 @@ public void testWertpapierVerkauf04WithSecurityInCHF() client.addSecurity(security); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2382,6 +2438,7 @@ public void testSteuerrueckerstattung01() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2429,6 +2486,7 @@ public void testSteuerrueckerstattung02() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2476,6 +2534,7 @@ public void testSteuerrueckerstattung03() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2523,6 +2582,7 @@ public void testSteuerrueckerstattung04() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2571,6 +2631,7 @@ public void testSteuerrueckerstattung05() var client = new Client(); var extractor = new WirBankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2617,6 +2678,7 @@ public void testSteuerrueckerstattung05() public void testSteuerrueckerstattung06() { var extractor = new WirBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2652,6 +2714,7 @@ public void testSteuerrueckerstattung06() public void testSteuerrueckerstattung07() { var extractor = new WirBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -2686,6 +2749,7 @@ public void testSteuerrueckerstattung07() public void testDividendeStorno01() { var extractor = new WirBankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/withebankgmbh/WitheBoxGmbHPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/withebankgmbh/WitheBoxGmbHPDFExtractorTest.java index ef3e7d6acf..31dc377699 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/withebankgmbh/WitheBoxGmbHPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/withebankgmbh/WitheBoxGmbHPDFExtractorTest.java @@ -24,15 +24,19 @@ import name.abuchen.portfolio.datatransfer.actions.AssertImportActions; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.WitheBoxGmbHPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; @SuppressWarnings("nls") public class WitheBoxGmbHPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testGebuehrenabrechnung01() { var extractor = new WitheBoxGmbHPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -57,6 +61,7 @@ public void testGebuehrenabrechnung01() public void testGebuehrenabrechnung02() { var extractor = new WitheBoxGmbHPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -85,6 +90,7 @@ public void testGebuehrenabrechnung02() public void testGebuehrenabrechnung03() { var extractor = new WitheBoxGmbHPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/zuercherkantonalbank/ZuercherKantonalbankPDFExtractorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/zuercherkantonalbank/ZuercherKantonalbankPDFExtractorTest.java index 964f614911..db1a662274 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/zuercherkantonalbank/ZuercherKantonalbankPDFExtractorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/datatransfer/pdf/zuercherkantonalbank/ZuercherKantonalbankPDFExtractorTest.java @@ -40,6 +40,7 @@ import name.abuchen.portfolio.datatransfer.actions.CheckCurrenciesAction; import name.abuchen.portfolio.datatransfer.pdf.PDFInputFile; import name.abuchen.portfolio.datatransfer.pdf.ZuercherKantonalbankPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.Client; @@ -50,10 +51,13 @@ @SuppressWarnings("nls") public class ZuercherKantonalbankPDFExtractorTest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testWertpapierKauf01() { var extractor = new ZuercherKantonalbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -96,6 +100,7 @@ public void testWertpapierKauf01WithSecurityInCHF() client.addSecurity(security); var extractor = new ZuercherKantonalbankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -129,6 +134,7 @@ public void testWertpapierKauf01WithSecurityInCHF() public void testWertpapierKauf02() { var extractor = new ZuercherKantonalbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -171,6 +177,7 @@ public void testWertpapierKauf02WithSecurityInUSD() client.addSecurity(security); var extractor = new ZuercherKantonalbankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -204,6 +211,7 @@ public void testWertpapierKauf02WithSecurityInUSD() public void testWertpapierKauf03() { var extractor = new ZuercherKantonalbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -238,6 +246,7 @@ public void testWertpapierKauf03() public void testWertpapierKauf04() { var extractor = new ZuercherKantonalbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -280,6 +289,7 @@ public void testWertpapierKauf04WithSecurityInCHF() client.addSecurity(security); var extractor = new ZuercherKantonalbankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -313,6 +323,7 @@ public void testWertpapierKauf04WithSecurityInCHF() public void testWertpapierKauf05() { var extractor = new ZuercherKantonalbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -347,6 +358,7 @@ public void testWertpapierKauf05() public void testWertpapierKauf06() { var extractor = new ZuercherKantonalbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -381,6 +393,7 @@ public void testWertpapierKauf06() public void testWertpapierVerkauf01() { var extractor = new ZuercherKantonalbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -415,6 +428,7 @@ public void testWertpapierVerkauf01() public void testWertpapierVerkauf02() { var extractor = new ZuercherKantonalbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -457,6 +471,7 @@ public void testWertpapierVerkauf02WithSecurityInCHF() client.addSecurity(security); var extractor = new ZuercherKantonalbankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -490,6 +505,7 @@ public void testWertpapierVerkauf02WithSecurityInCHF() public void testDividende01() { var extractor = new ZuercherKantonalbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -532,6 +548,7 @@ public void testDividende01WithSecurityInCHF() client.addSecurity(security); var extractor = new ZuercherKantonalbankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -567,6 +584,7 @@ public void testDividende01WithSecurityInCHF() public void testDividende02() { var extractor = new ZuercherKantonalbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -609,6 +627,7 @@ public void testDividende02WithSecurityInUSD() client.addSecurity(security); var extractor = new ZuercherKantonalbankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -644,6 +663,7 @@ public void testDividende02WithSecurityInUSD() public void testDividende03() { var extractor = new ZuercherKantonalbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -685,6 +705,7 @@ public void testDividende03WithSecurityInUSD() client.addSecurity(security); var extractor = new ZuercherKantonalbankPDFExtractor(client); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); @@ -721,6 +742,7 @@ public void testDividende03WithSecurityInUSD() public void testDividende04() { var extractor = new ZuercherKantonalbankPDFExtractor(new Client()); + extractor.setNegativeValue(negativeValue); List errors = new ArrayList<>(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/model/ClientTestUtilities.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/model/ClientTestUtilities.java index fe1dec42dd..a3f19bcf35 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/model/ClientTestUtilities.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/model/ClientTestUtilities.java @@ -7,10 +7,13 @@ import java.util.Map.Entry; import java.util.stream.Collectors; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Dashboard.Widget; public class ClientTestUtilities { + private static NegativeValue negativeValue = new NegativeValue(); + public static String toString(Client client) { return toString(client, false); @@ -31,7 +34,7 @@ public static String toString(Client client, boolean withIdReferences) try { ByteArrayOutputStream stream = new ByteArrayOutputStream(); - new ClientFactory.XmlSerialization(withIdReferences).save(client, stream); + new ClientFactory.XmlSerialization(negativeValue, withIdReferences).save(client, stream); stream.close(); return new String(stream.toByteArray()); } diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/model/ProtobufWriterAdditionalTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/model/ProtobufWriterAdditionalTest.java index 58899ec6d9..849ee1c174 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/model/ProtobufWriterAdditionalTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/model/ProtobufWriterAdditionalTest.java @@ -12,6 +12,7 @@ import org.junit.Test; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.money.CurrencyUnit; import name.abuchen.portfolio.money.Money; import name.abuchen.portfolio.money.Values; @@ -19,6 +20,7 @@ @SuppressWarnings("nls") public class ProtobufWriterAdditionalTest { + private NegativeValue negativeValue = new NegativeValue(); @Test public void testSavingFutureDates() throws IOException @@ -32,7 +34,7 @@ public void testSavingFutureDates() throws IOException // convert to binary format and back - ProtobufWriter protobufWriter = new ProtobufWriter(); + ProtobufWriter protobufWriter = new ProtobufWriter(negativeValue); ByteArrayOutputStream stream = new ByteArrayOutputStream(); protobufWriter.save(client, stream); @@ -84,7 +86,7 @@ public void testCurrencyMismatchErrorHandling() throws IOException account.setCurrencyCode(CurrencyUnit.USD); // save client with invalid data - ProtobufWriter protobufWriter = new ProtobufWriter(); + ProtobufWriter protobufWriter = new ProtobufWriter(negativeValue); ByteArrayOutputStream stream = new ByteArrayOutputStream(); protobufWriter.save(client, stream); stream.close(); @@ -129,7 +131,7 @@ public void testDividendWithoutSecurityConvertedToInterest() throws IOException account.addTransaction(dividend); // Save to binary format - var protobufWriter = new ProtobufWriter(); + var protobufWriter = new ProtobufWriter(negativeValue); var stream = new ByteArrayOutputStream(); protobufWriter.save(client, stream); stream.close(); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/model/ProtobufWriterTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/model/ProtobufWriterTest.java index 77b64b9f96..24297d35da 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/model/ProtobufWriterTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/model/ProtobufWriterTest.java @@ -14,12 +14,16 @@ import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; +import name.abuchen.portfolio.math.NegativeValue; + @SuppressWarnings("nls") @RunWith(Parameterized.class) public class ProtobufWriterTest { private static final int CONTEXT_LENGTH = 100; + private NegativeValue negativeValue = new NegativeValue(); + @Parameters(name = "{index}: {0}") public static Collection getFiles() { @@ -54,11 +58,11 @@ public ProtobufWriterTest(String file) @Test public void compareAgainstXML() throws IOException { - Client client = ClientFactory.load(ProtobufWriterTest.class.getResourceAsStream(file)); + Client client = ClientFactory.load(negativeValue, ProtobufWriterTest.class.getResourceAsStream(file)); // convert to binary format and back - ProtobufWriter protobufWriter = new ProtobufWriter(); + ProtobufWriter protobufWriter = new ProtobufWriter(negativeValue); ByteArrayOutputStream stream = new ByteArrayOutputStream(); protobufWriter.save(client, stream); diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/money/impl/ExchangeRateProviderILATest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/money/impl/ExchangeRateProviderILATest.java index cc916da183..59b3b3ae74 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/money/impl/ExchangeRateProviderILATest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/money/impl/ExchangeRateProviderILATest.java @@ -1,7 +1,7 @@ package name.abuchen.portfolio.money.impl; -import static org.hamcrest.number.OrderingComparison.comparesEqualTo; import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.number.OrderingComparison.comparesEqualTo; import java.math.BigDecimal; import java.math.RoundingMode; @@ -9,6 +9,7 @@ import org.junit.Test; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.money.ExchangeRateProviderFactory; import name.abuchen.portfolio.money.ExchangeRateTimeSeries; @@ -16,6 +17,8 @@ @SuppressWarnings("nls") public class ExchangeRateProviderILATest { + private NegativeValue negativeValue = new NegativeValue(); + @Test public void testIt() { diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/online/impl/GenericJSONQuoteFeedTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/online/impl/GenericJSONQuoteFeedTest.java index 04452a7d23..da84cfa78a 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/online/impl/GenericJSONQuoteFeedTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/online/impl/GenericJSONQuoteFeedTest.java @@ -29,7 +29,6 @@ import com.jayway.jsonpath.JsonPath; import com.jayway.jsonpath.Option; import com.jayway.jsonpath.ReadContext; - import name.abuchen.portfolio.model.LatestSecurityPrice; import name.abuchen.portfolio.model.Security; import name.abuchen.portfolio.model.SecurityPrice; diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/snapshot/trades/TradeCollector2Test.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/snapshot/trades/TradeCollector2Test.java index 0f3ba310fd..be80073cd8 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/snapshot/trades/TradeCollector2Test.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/snapshot/trades/TradeCollector2Test.java @@ -13,6 +13,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.model.PortfolioTransaction; @@ -28,11 +29,14 @@ public class TradeCollector2Test { private static Client client; + private static NegativeValue negativeValue = new NegativeValue(); + @BeforeClass public static void prepare() throws IOException { - client = ClientFactory.load(TradeCollector2Test.class.getResourceAsStream("trade_test_case2.xml")); + client = ClientFactory.load(negativeValue, + TradeCollector2Test.class.getResourceAsStream("trade_test_case2.xml")); } @Test diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/snapshot/trades/TradeCollector4Test.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/snapshot/trades/TradeCollector4Test.java index a728fafc56..df85b8ca0e 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/snapshot/trades/TradeCollector4Test.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/snapshot/trades/TradeCollector4Test.java @@ -11,6 +11,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.model.Security; @@ -22,11 +23,13 @@ public class TradeCollector4Test { private static Client client; + private static NegativeValue negativeValue = new NegativeValue(); @BeforeClass public static void prepare() throws IOException { - client = ClientFactory.load(TradeCollector4Test.class.getResourceAsStream("trade_test_case4.xml")); + client = ClientFactory.load(negativeValue, + TradeCollector4Test.class.getResourceAsStream("trade_test_case4.xml")); } @Test diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/snapshot/trades/TradeCollector5Test.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/snapshot/trades/TradeCollector5Test.java index 77008dc0ff..c5d9e50baf 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/snapshot/trades/TradeCollector5Test.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/snapshot/trades/TradeCollector5Test.java @@ -11,6 +11,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.model.Security; @@ -21,11 +22,13 @@ public class TradeCollector5Test { private static Client client; + private static NegativeValue negativeValue = new NegativeValue(); @BeforeClass public static void prepare() throws IOException { - client = ClientFactory.load(TradeCollector5Test.class.getResourceAsStream("trade_test_case5.xml")); + client = ClientFactory.load(negativeValue, + TradeCollector5Test.class.getResourceAsStream("trade_test_case5.xml")); } @Test diff --git a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/snapshot/trades/TradeCollectorTest.java b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/snapshot/trades/TradeCollectorTest.java index 970726d2aa..1c11d9af57 100644 --- a/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/snapshot/trades/TradeCollectorTest.java +++ b/name.abuchen.portfolio.tests/src/name/abuchen/portfolio/snapshot/trades/TradeCollectorTest.java @@ -12,6 +12,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.model.Security; @@ -23,11 +24,13 @@ public class TradeCollectorTest { private static Client client; + private static NegativeValue negativeValue = new NegativeValue(); + @BeforeClass public static void prepare() throws IOException { - client = ClientFactory.load(TradeCollectorTest.class.getResourceAsStream("trade_test_case.xml")); + client = ClientFactory.load(negativeValue, TradeCollectorTest.class.getResourceAsStream("trade_test_case.xml")); } @Test diff --git a/name.abuchen.portfolio.tests/src/scenarios/AccountPerformanceTaxRefundTestCase.java b/name.abuchen.portfolio.tests/src/scenarios/AccountPerformanceTaxRefundTestCase.java index 39976ca314..1e5d4b1fe1 100644 --- a/name.abuchen.portfolio.tests/src/scenarios/AccountPerformanceTaxRefundTestCase.java +++ b/name.abuchen.portfolio.tests/src/scenarios/AccountPerformanceTaxRefundTestCase.java @@ -15,6 +15,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.Client; @@ -27,6 +28,8 @@ @SuppressWarnings("nls") public class AccountPerformanceTaxRefundTestCase { + private NegativeValue negativeValue = new NegativeValue(); + /** * Feature: when calculating the performance of an account, do include taxes * and tax refunds but only those that are not paid for a security. @@ -35,7 +38,8 @@ public class AccountPerformanceTaxRefundTestCase public void testAccountPerformanceTaxRefund() throws IOException { Client client = ClientFactory - .load(SecurityTestCase.class.getResourceAsStream("account_performance_tax_refund.xml")); + .load(negativeValue, SecurityTestCase.class + .getResourceAsStream("account_performance_tax_refund.xml")); Account account = client.getAccounts().get(0); Interval period = Interval.of(LocalDate.parse("2013-12-06"), LocalDate.parse("2014-12-06")); diff --git a/name.abuchen.portfolio.tests/src/scenarios/ClassificationTestCase.java b/name.abuchen.portfolio.tests/src/scenarios/ClassificationTestCase.java index 614319dec0..cf651f973c 100644 --- a/name.abuchen.portfolio.tests/src/scenarios/ClassificationTestCase.java +++ b/name.abuchen.portfolio.tests/src/scenarios/ClassificationTestCase.java @@ -18,6 +18,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.Classification; import name.abuchen.portfolio.model.Client; @@ -36,6 +37,7 @@ public class ClassificationTestCase { private static TestCurrencyConverter converter = new TestCurrencyConverter(); + private static NegativeValue negativeValue = new NegativeValue(); private static Client client; @@ -47,7 +49,8 @@ public class ClassificationTestCase @BeforeClass public static void prepare() throws IOException { - client = ClientFactory.load(SecurityTestCase.class.getResourceAsStream("classification_test_case.xml")); + client = ClientFactory.load(negativeValue, + SecurityTestCase.class.getResourceAsStream("classification_test_case.xml")); adidas = client.getSecurities().stream().filter(s -> "Adidas AG".equals(s.getName())).findAny() .orElseThrow(IllegalArgumentException::new); diff --git a/name.abuchen.portfolio.tests/src/scenarios/ClientPerformanceSnapshotTestCase.java b/name.abuchen.portfolio.tests/src/scenarios/ClientPerformanceSnapshotTestCase.java index c4e99250f7..3bb3ca2faf 100644 --- a/name.abuchen.portfolio.tests/src/scenarios/ClientPerformanceSnapshotTestCase.java +++ b/name.abuchen.portfolio.tests/src/scenarios/ClientPerformanceSnapshotTestCase.java @@ -10,6 +10,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.money.CurrencyUnit; @@ -23,13 +24,14 @@ public class ClientPerformanceSnapshotTestCase { private static TestCurrencyConverter converter = new TestCurrencyConverter(); - + private static NegativeValue negativeValue = new NegativeValue(); private static Client client; @BeforeClass public static void prepare() throws IOException { - client = ClientFactory.load(SecurityTestCase.class.getResourceAsStream("client_performance_snapshot.xml")); + client = ClientFactory.load(negativeValue, + SecurityTestCase.class.getResourceAsStream("client_performance_snapshot.xml")); } @Test diff --git a/name.abuchen.portfolio.tests/src/scenarios/CurrencyTestCase.java b/name.abuchen.portfolio.tests/src/scenarios/CurrencyTestCase.java index 2aa24b2e91..e1998a373f 100644 --- a/name.abuchen.portfolio.tests/src/scenarios/CurrencyTestCase.java +++ b/name.abuchen.portfolio.tests/src/scenarios/CurrencyTestCase.java @@ -14,6 +14,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; @@ -42,6 +43,7 @@ public class CurrencyTestCase { private static TestCurrencyConverter converter = new TestCurrencyConverter(); + private static NegativeValue negativeValue = new NegativeValue(); private static Client client; private static Security securityEUR; @@ -52,7 +54,7 @@ public class CurrencyTestCase @BeforeClass public static void prepare() throws IOException { - client = ClientFactory.load(SecurityTestCase.class.getResourceAsStream("currency_sample.xml")); + client = ClientFactory.load(negativeValue, SecurityTestCase.class.getResourceAsStream("currency_sample.xml")); securityEUR = client.getSecurities().stream().filter(s -> s.getName().equals("BASF")).findFirst() .orElseThrow(IllegalArgumentException::new); diff --git a/name.abuchen.portfolio.tests/src/scenarios/SecurityPerformanceTaxRefundTestCase.java b/name.abuchen.portfolio.tests/src/scenarios/SecurityPerformanceTaxRefundTestCase.java index 3eb5591ecb..444e6841f5 100644 --- a/name.abuchen.portfolio.tests/src/scenarios/SecurityPerformanceTaxRefundTestCase.java +++ b/name.abuchen.portfolio.tests/src/scenarios/SecurityPerformanceTaxRefundTestCase.java @@ -18,6 +18,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.Classification; import name.abuchen.portfolio.model.Client; @@ -42,6 +43,8 @@ @SuppressWarnings("nls") public class SecurityPerformanceTaxRefundTestCase { + private NegativeValue negativeValue = new NegativeValue(); + /** * Feature: when calculating the performance of a security, do not include * taxes and tax refunds. Include taxes and tax refunds only when @@ -50,8 +53,8 @@ public class SecurityPerformanceTaxRefundTestCase @Test public void testSecurityPerformanceTaxRefund() throws IOException { - Client client = ClientFactory - .load(SecurityTestCase.class.getResourceAsStream("security_performance_tax_refund.xml")); + Client client = ClientFactory.load(negativeValue, + SecurityTestCase.class.getResourceAsStream("security_performance_tax_refund.xml")); Security security = client.getSecurities().get(0); Portfolio portfolio = client.getPortfolios().get(0); @@ -121,7 +124,7 @@ public void testSecurityPerformanceTaxRefund() throws IOException @Test public void testSecurityPerformanceTaxRefundAllSold() throws IOException { - Client client = ClientFactory.load( + Client client = ClientFactory.load(negativeValue, SecurityTestCase.class.getResourceAsStream("security_performance_tax_refund_all_sold.xml")); Portfolio portfolio = client.getPortfolios().get(0); diff --git a/name.abuchen.portfolio.tests/src/scenarios/SecurityTaxAndFeeAccountTransactionsTestCase.java b/name.abuchen.portfolio.tests/src/scenarios/SecurityTaxAndFeeAccountTransactionsTestCase.java index 2b1f834997..ec2d058a52 100644 --- a/name.abuchen.portfolio.tests/src/scenarios/SecurityTaxAndFeeAccountTransactionsTestCase.java +++ b/name.abuchen.portfolio.tests/src/scenarios/SecurityTaxAndFeeAccountTransactionsTestCase.java @@ -18,6 +18,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.Classification; import name.abuchen.portfolio.model.Client; @@ -49,10 +50,12 @@ public class SecurityTaxAndFeeAccountTransactionsTestCase private static Interval interval = Interval.of(LocalDate.parse("2016-12-31"), LocalDate.parse("2017-01-31")); + private static NegativeValue negativeValue = new NegativeValue(); + @BeforeClass public static void prepare() throws IOException { - client = ClientFactory.load( + client = ClientFactory.load(negativeValue, SecurityTestCase.class.getResourceAsStream("security_tax_and_fee_account_transactions.xml")); adidas = client.getSecurities().stream().filter(s -> "Adidas AG".equals(s.getName())).findAny() diff --git a/name.abuchen.portfolio.tests/src/scenarios/SecurityTestCase.java b/name.abuchen.portfolio.tests/src/scenarios/SecurityTestCase.java index 23e3aeb9dd..57f611dcdd 100644 --- a/name.abuchen.portfolio.tests/src/scenarios/SecurityTestCase.java +++ b/name.abuchen.portfolio.tests/src/scenarios/SecurityTestCase.java @@ -12,6 +12,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.model.PortfolioTransaction; @@ -26,6 +27,7 @@ @SuppressWarnings("nls") public class SecurityTestCase { + private NegativeValue negativeValue = new NegativeValue(); /** * Issue: If historical quotes start only after the purchase (or delivery) @@ -36,7 +38,7 @@ public class SecurityTestCase @Test public void testSecurityPerformanceWithMissingHistoricalQuotes() throws IOException { - Client client = ClientFactory.load(SecurityTestCase.class + Client client = ClientFactory.load(negativeValue, SecurityTestCase.class .getResourceAsStream("security_performance_with_missing_historical_quotes.xml")); Security security = client.getSecurities().get(0); diff --git a/name.abuchen.portfolio.tests/src/scenarios/VolatilityTestCase.java b/name.abuchen.portfolio.tests/src/scenarios/VolatilityTestCase.java index 6919620c06..e1a76411ae 100644 --- a/name.abuchen.portfolio.tests/src/scenarios/VolatilityTestCase.java +++ b/name.abuchen.portfolio.tests/src/scenarios/VolatilityTestCase.java @@ -14,6 +14,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.model.Security; @@ -25,11 +26,13 @@ public class VolatilityTestCase { private static TestCurrencyConverter converter = new TestCurrencyConverter(); private static Client client; + private static NegativeValue negativeValue = new NegativeValue(); + @BeforeClass public static void loadClientFile() throws IOException { - client = ClientFactory.load(SecurityTestCase.class.getResourceAsStream("volatility.xml")); + client = ClientFactory.load(negativeValue, SecurityTestCase.class.getResourceAsStream("volatility.xml")); } @Test diff --git a/name.abuchen.portfolio.ui.tests/.classpath b/name.abuchen.portfolio.ui.tests/.classpath index 8c7d1afc29..9fc5bb7ac8 100644 --- a/name.abuchen.portfolio.ui.tests/.classpath +++ b/name.abuchen.portfolio.ui.tests/.classpath @@ -5,7 +5,16 @@ - + + + + + + + + + + diff --git a/name.abuchen.portfolio.ui.tests/META-INF/MANIFEST.MF b/name.abuchen.portfolio.ui.tests/META-INF/MANIFEST.MF index 882ec2b117..44b6a11042 100644 --- a/name.abuchen.portfolio.ui.tests/META-INF/MANIFEST.MF +++ b/name.abuchen.portfolio.ui.tests/META-INF/MANIFEST.MF @@ -18,3 +18,7 @@ Require-Bundle: org.junit, org.apache.commons.commons-io, org.apache.commons.commons-codec Automatic-Module-Name: name.abuchen.portfolio.ui.tests +Import-Package: com.google.common.primitives;version="[33.5.0,34.0.0)", + org.eclipse.core.runtime;version="[3.7.0,4.0.0)", + org.eclipse.swt.graphics, + org.osgi.framework;version="[1.10.0,2.0.0)" diff --git a/name.abuchen.portfolio.ui.tests/src/name/abuchen/portfolio/ui/dialogs/transactions/InvestmentPlanModelTest.java b/name.abuchen.portfolio.ui.tests/src/name/abuchen/portfolio/ui/dialogs/transactions/InvestmentPlanModelTest.java index 29b088bf5f..42df4cadea 100644 --- a/name.abuchen.portfolio.ui.tests/src/name/abuchen/portfolio/ui/dialogs/transactions/InvestmentPlanModelTest.java +++ b/name.abuchen.portfolio.ui.tests/src/name/abuchen/portfolio/ui/dialogs/transactions/InvestmentPlanModelTest.java @@ -9,6 +9,7 @@ import org.eclipse.core.runtime.Status; import org.junit.Test; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.InvestmentPlan; @@ -16,12 +17,13 @@ @SuppressWarnings("nls") public class InvestmentPlanModelTest { + NegativeValue negativeValue = new NegativeValue(); @Test public void testNewRemovalPlan() { Client client = new Client(); - InvestmentPlanModel model = new InvestmentPlanModel(client, InvestmentPlan.Type.REMOVAL); + InvestmentPlanModel model = new InvestmentPlanModel(negativeValue, client, InvestmentPlan.Type.REMOVAL); model.setAccount(new Account()); model.setAmount(100L); model.setInterval(1); @@ -45,7 +47,7 @@ public void testEditRemovalPlan() investmentPlan.setAmount(100L); investmentPlan.setType(InvestmentPlan.Type.REMOVAL); - InvestmentPlanModel model = new InvestmentPlanModel(new Client(), InvestmentPlan.Type.REMOVAL); + InvestmentPlanModel model = new InvestmentPlanModel(negativeValue, new Client(), InvestmentPlan.Type.REMOVAL); model.setSource(investmentPlan); assertThat(model.getAmount(), is(100L)); diff --git a/name.abuchen.portfolio.ui.tests/src/name/abuchen/portfolio/ui/util/StringToCurrencyConverterTest.java b/name.abuchen.portfolio.ui.tests/src/name/abuchen/portfolio/ui/util/StringToCurrencyConverterTest.java index f2b2c7a534..79bba3e4af 100644 --- a/name.abuchen.portfolio.ui.tests/src/name/abuchen/portfolio/ui/util/StringToCurrencyConverterTest.java +++ b/name.abuchen.portfolio.ui.tests/src/name/abuchen/portfolio/ui/util/StringToCurrencyConverterTest.java @@ -9,6 +9,7 @@ import org.junit.BeforeClass; import org.junit.Test; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.money.Values; @SuppressWarnings("nls") @@ -28,6 +29,8 @@ public static void resetLocale() Locale.setDefault(DEFAULT_LOCALE); } + protected NegativeValue negativeValue = new NegativeValue(); + @Test(expected = IllegalArgumentException.class) public void testInvalidAmount() { @@ -56,7 +59,8 @@ public void testValidAmountsDE() public void testValidShareDE() { Locale.setDefault(Locale.GERMANY); - StringToCurrencyConverter converter = new StringToCurrencyConverter(Values.Share); + StringToCurrencyConverter converter = new StringToCurrencyConverter(Values.Share, + negativeValue.isNegativeValueAllowed()); assertThat(converter.convert("1,234"), is(Values.Share.factorize(1.234))); assertThat(converter.convert("0,585"), is(Values.Share.factorize(0.585))); } @@ -105,7 +109,8 @@ public void testValidDENegativeAmount() public void testValidBENLAmount() { Locale.setDefault(Locale.forLanguageTag("nl-BE")); - StringToCurrencyConverter converter = new StringToCurrencyConverter(Values.Amount); + StringToCurrencyConverter converter = new StringToCurrencyConverter(Values.Amount, + negativeValue.isNegativeValueAllowed()); assertThat(converter.convert("12,34"), is(1234l)); assertThat(converter.convert(",34"), is(34l)); assertThat(converter.convert("12.34"), is(1234l)); @@ -117,7 +122,8 @@ public void testValidBENLAmount() public void testValidBEFRAmount() { Locale.setDefault(Locale.forLanguageTag("fr-BE")); - StringToCurrencyConverter converter = new StringToCurrencyConverter(Values.Amount); + StringToCurrencyConverter converter = new StringToCurrencyConverter(Values.Amount, + negativeValue.isNegativeValueAllowed()); assertThat(converter.convert("12,34"), is(1234l)); assertThat(converter.convert("12.34"), is(1234l)); assertThat(converter.convert("1 234,56"), is(123456l)); @@ -127,7 +133,8 @@ public void testValidBEFRAmount() public void testValidBEFRAmountWithNBSP() { Locale.setDefault(Locale.forLanguageTag("fr-BE")); - StringToCurrencyConverter converter = new StringToCurrencyConverter(Values.Amount); + StringToCurrencyConverter converter = new StringToCurrencyConverter(Values.Amount, + negativeValue.isNegativeValueAllowed()); // Belgian locale has changed between Java 11 and 17 @@ -168,7 +175,8 @@ public void testValidArithmetic() public void testInvalidArithmetic() { Locale.setDefault(Locale.GERMANY); - StringToCurrencyConverter converter = new StringToCurrencyConverter(Values.Amount); + StringToCurrencyConverter converter = new StringToCurrencyConverter(Values.Amount, + negativeValue.isNegativeValueAllowed()); converter.convert("1234,56-+0,44"); } diff --git a/name.abuchen.portfolio.ui.tests/src/name/abuchen/portfolio/ui/views/IssuePerformanceIndicatorsWithPartialAssignmentTest.java b/name.abuchen.portfolio.ui.tests/src/name/abuchen/portfolio/ui/views/IssuePerformanceIndicatorsWithPartialAssignmentTest.java index 1b73d625e1..27b1641071 100644 --- a/name.abuchen.portfolio.ui.tests/src/name/abuchen/portfolio/ui/views/IssuePerformanceIndicatorsWithPartialAssignmentTest.java +++ b/name.abuchen.portfolio.ui.tests/src/name/abuchen/portfolio/ui/views/IssuePerformanceIndicatorsWithPartialAssignmentTest.java @@ -17,6 +17,7 @@ import org.junit.Test; import name.abuchen.portfolio.junit.TestCurrencyConverter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.model.Security; @@ -47,6 +48,7 @@ */ public class IssuePerformanceIndicatorsWithPartialAssignmentTest { + private static NegativeValue negativeValue = new NegativeValue(); private static Client CLIENT; private static Interval REPORTING_PERIOD = Interval.of(LocalDate.parse("2017-07-14"), //$NON-NLS-1$ @@ -69,7 +71,7 @@ public class IssuePerformanceIndicatorsWithPartialAssignmentTest @BeforeClass public static void setupClient() throws IOException { - CLIENT = ClientFactory.load(IssuePerformanceIndicatorsWithPartialAssignmentTest.class + CLIENT = ClientFactory.load(negativeValue, IssuePerformanceIndicatorsWithPartialAssignmentTest.class .getResourceAsStream("IssuePerformanceIndicatorsWithPartialAssignment.xml")); //$NON-NLS-1$ TestCurrencyConverter converter = new TestCurrencyConverter(); diff --git a/name.abuchen.portfolio.ui/.classpath b/name.abuchen.portfolio.ui/.classpath index 6f2bbb6044..995a529533 100644 --- a/name.abuchen.portfolio.ui/.classpath +++ b/name.abuchen.portfolio.ui/.classpath @@ -5,7 +5,26 @@ - + + + + + + + + + + + + + + + + + + + + diff --git a/name.abuchen.portfolio.ui/.settings/org.eclipse.jdt.core.prefs b/name.abuchen.portfolio.ui/.settings/org.eclipse.jdt.core.prefs index aacdef811b..9a13d7e060 100644 --- a/name.abuchen.portfolio.ui/.settings/org.eclipse.jdt.core.prefs +++ b/name.abuchen.portfolio.ui/.settings/org.eclipse.jdt.core.prefs @@ -1,13 +1,17 @@ eclipse.preferences.version=1 +org.eclipse.jdt.core.builder.annotationPath.allLocations=disabled org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= +org.eclipse.jdt.core.compiler.annotation.notowning=org.eclipse.jdt.annotation.NotOwning org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable org.eclipse.jdt.core.compiler.annotation.nullable.secondary= org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled +org.eclipse.jdt.core.compiler.annotation.owning=org.eclipse.jdt.annotation.Owning +org.eclipse.jdt.core.compiler.annotation.resourceanalysis=disabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 @@ -17,6 +21,7 @@ org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.APILeak=warning +org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=ignore @@ -39,9 +44,12 @@ org.eclipse.jdt.core.compiler.problem.forbiddenReference=error org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompatibleOwningContract=warning org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.insufficientResourceAnalysis=warning org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.memberOfDeprecatedTypeNotDeprecated=info org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning @@ -78,6 +86,7 @@ org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=enabled org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning @@ -93,6 +102,7 @@ org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled @@ -100,6 +110,7 @@ org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverridin org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedImport=warning org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLambdaParameter=warning org.eclipse.jdt.core.compiler.problem.unusedLocal=warning org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore @@ -112,42 +123,69 @@ org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.release=enabled org.eclipse.jdt.core.compiler.source=21 +org.eclipse.jdt.core.formatter.align_arrows_in_switch_on_columns=false +org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 +org.eclipse.jdt.core.formatter.align_selector_in_method_invocation_on_expression_first_line=false org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false +org.eclipse.jdt.core.formatter.align_with_spaces=false org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_annotations_on_enum_constant=49 +org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field=49 +org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable=49 +org.eclipse.jdt.core.formatter.alignment_for_annotations_on_method=49 +org.eclipse.jdt.core.formatter.alignment_for_annotations_on_package=49 +org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter=0 +org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type=49 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assertion_message=0 org.eclipse.jdt.core.formatter.alignment_for_assignment=0 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_switch_case_with_arrow=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_switch_case_with_colon=0 org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_permitted_types_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_record_components=16 +org.eclipse.jdt.core.formatter.alignment_for_relational_operator=0 org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_shift_operator=0 org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_switch_case_with_arrow=0 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_type_annotations=0 org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration=0 org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method=1 org.eclipse.jdt.core.formatter.blank_lines_before_field=0 org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 @@ -156,19 +194,25 @@ org.eclipse.jdt.core.formatter.blank_lines_before_method=1 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 org.eclipse.jdt.core.formatter.blank_lines_before_package=0 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch=0 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_block=next_line org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case_after_arrow=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_record_constructor=next_line +org.eclipse.jdt.core.formatter.brace_position_for_record_declaration=next_line org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=false +org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=false @@ -177,11 +221,15 @@ org.eclipse.jdt.core.formatter.comment.format_header=true org.eclipse.jdt.core.formatter.comment.format_html=true org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_markdown_comments=true org.eclipse.jdt.core.formatter.comment.format_source_code=true org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.indent_tag_description=false org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags=do not insert org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.javadoc_do_not_separate_block_tags=false org.eclipse.jdt.core.formatter.comment.line_length=80 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true @@ -196,6 +244,7 @@ org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_record_header=true org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true org.eclipse.jdt.core.formatter.indent_empty_lines=false @@ -229,6 +278,8 @@ org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=do not inser org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert @@ -258,13 +309,17 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arg org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_permitted_types=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_not_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert @@ -281,6 +336,7 @@ org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not ins org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_record_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert @@ -297,6 +353,8 @@ org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert +org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert @@ -316,6 +374,7 @@ org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not in org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert @@ -342,7 +401,10 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_ar org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_permitted_types=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert @@ -360,6 +422,8 @@ org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_ org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert @@ -375,6 +439,7 @@ org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert @@ -400,16 +465,40 @@ org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_ org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_line_comments=false org.eclipse.jdt.core.formatter.join_lines_in_comments=true org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_if_empty +org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_if_empty +org.eclipse.jdt.core.formatter.keep_code_block_on_one_line=one_line_if_empty org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true +org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line=one_line_if_empty +org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line=one_line_if_empty +org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line=one_line_if_empty org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line=one_line_if_empty +org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line=one_line_if_empty +org.eclipse.jdt.core.formatter.keep_method_body_on_one_line=one_line_if_empty +org.eclipse.jdt.core.formatter.keep_record_constructor_on_one_line=one_line_if_empty +org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line=one_line_if_empty +org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=false +org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_switch_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_switch_case_with_arrow_on_one_line=one_line_never org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_if_empty org.eclipse.jdt.core.formatter.lineSplit=120 org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block=0 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block=0 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines @@ -419,20 +508,26 @@ org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=commo org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration=common_lines org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true org.eclipse.jdt.core.formatter.tabulation.char=space org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.text_block_indentation=0 org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_assertion_message_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true +org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true +org.eclipse.jdt.core.formatter.wrap_before_switch_case_arrow_operator=false org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/name.abuchen.portfolio.ui/.settings/org.eclipse.jdt.ui.prefs b/name.abuchen.portfolio.ui/.settings/org.eclipse.jdt.ui.prefs index 672508ad26..bd9e6c10c7 100644 --- a/name.abuchen.portfolio.ui/.settings/org.eclipse.jdt.ui.prefs +++ b/name.abuchen.portfolio.ui/.settings/org.eclipse.jdt.ui.prefs @@ -1,7 +1,8 @@ eclipse.preferences.version=1 formatter_profile=_portfolio -formatter_settings_version=13 +formatter_settings_version=23 org.eclipse.jdt.ui.ignorelowercasenames=true org.eclipse.jdt.ui.importorder=java;javax;jakarta;org;com; org.eclipse.jdt.ui.ondemandthreshold=99 org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates= diff --git a/name.abuchen.portfolio.ui/META-INF/MANIFEST.MF b/name.abuchen.portfolio.ui/META-INF/MANIFEST.MF index 47a6c207d9..185e7d33d9 100644 --- a/name.abuchen.portfolio.ui/META-INF/MANIFEST.MF +++ b/name.abuchen.portfolio.ui/META-INF/MANIFEST.MF @@ -125,7 +125,7 @@ Require-Bundle: name.abuchen.portfolio;bundle-version="0.81.5", org.eclipse.ui.themes, org.eclipse.jface, org.apache.httpcomponents.core5.httpcore5, - io.github.java-diff-utils + io.github.java-diff-utils;bundle-version="[4.0.0,5.0.0)" Automatic-Module-Name: name.abuchen.portfolio.ui Service-Component: OSGI-INF/name.abuchen.portfolio.ui.util.theme.ColorAndFontProviderImpl.xml, OSGI-INF/name.abuchen.portfolio.ui.theme.CustomThemeEngineManager.xml diff --git a/name.abuchen.portfolio.ui/pom.xml b/name.abuchen.portfolio.ui/pom.xml index 2aed856abe..cd0ce772ad 100644 --- a/name.abuchen.portfolio.ui/pom.xml +++ b/name.abuchen.portfolio.ui/pom.xml @@ -37,6 +37,14 @@ org.apache.maven.plugins maven-checkstyle-plugin - + + org.apache.maven.plugins + maven-compiler-plugin + + 17 + 17 + + + - \ No newline at end of file + diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/SecurityPriceDialog.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/SecurityPriceDialog.java index c993544a3f..f9523a2f94 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/SecurityPriceDialog.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/SecurityPriceDialog.java @@ -5,6 +5,7 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Shell; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Security; import name.abuchen.portfolio.model.SecurityPrice; @@ -59,16 +60,19 @@ public void applyChanges() } } - public SecurityPriceDialog(Shell parentShell, Client client, Security security) + private NegativeValue negativeValue; + + public SecurityPriceDialog(NegativeValue negativeValue, Shell parentShell, Client client, Security security) { super(parentShell, Messages.LabelQuote, new SecurityPriceModel(client, security)); + this.negativeValue = negativeValue; } @Override protected void createFormElements(Composite editArea) { bindings().bindDatePicker(editArea, Messages.ColumnDate, "date"); //$NON-NLS-1$ - bindings().bindMandatoryQuoteInput(editArea, Messages.ColumnQuote, "price"); //$NON-NLS-1$ + bindings().bindMandatoryQuoteInput(negativeValue, editArea, Messages.ColumnQuote, "price"); //$NON-NLS-1$ } public void setDate(LocalDate date) diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/balance/TroubleshootBalanceDiscrepancyDialog.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/balance/TroubleshootBalanceDiscrepancyDialog.java index b861b37a98..65df53e91d 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/balance/TroubleshootBalanceDiscrepancyDialog.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/balance/TroubleshootBalanceDiscrepancyDialog.java @@ -30,6 +30,7 @@ import org.eclipse.swt.widgets.Tree; import org.eclipse.swt.widgets.TreeColumn; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.money.Money; @@ -99,10 +100,14 @@ public void onDirty(boolean isDirty) }; - public TroubleshootBalanceDiscrepancyDialog(Shell parentShell, ClientInput clientInput, Account account) + protected final NegativeValue negativeValue; + + public TroubleshootBalanceDiscrepancyDialog(NegativeValue negativeValue, Shell parentShell, ClientInput clientInput, + Account account) { super(parentShell); + this.negativeValue = negativeValue; this.clientInput = clientInput; this.account = account; @@ -266,7 +271,8 @@ public String getText(Object element) }); column.setEditingSupport(new ColumnEditingSupport() { - private final StringToCurrencyConverter stringToLong = new StringToCurrencyConverter(Values.Amount); + private final StringToCurrencyConverter stringToLong = new StringToCurrencyConverter(Values.Amount, + negativeValue.isNegativeValueAllowed()); @Override public void setValue(Object element, Object value) throws Exception diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AbstractSecurityTransactionModel.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AbstractSecurityTransactionModel.java index ebba425b73..5e672305bd 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AbstractSecurityTransactionModel.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AbstractSecurityTransactionModel.java @@ -10,6 +10,7 @@ import org.eclipse.core.databinding.validation.ValidationStatus; import org.eclipse.core.runtime.IStatus; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Portfolio; import name.abuchen.portfolio.model.PortfolioTransaction; @@ -38,6 +39,7 @@ public enum Properties calculationStatus; } + protected final NegativeValue negativeValue; protected final Client client; protected PortfolioTransaction.Type type; @@ -58,8 +60,9 @@ public enum Properties protected String note; private IStatus calculationStatus = ValidationStatus.ok(); - public AbstractSecurityTransactionModel(Client client, Type type) + public AbstractSecurityTransactionModel(NegativeValue negativeValue, Client client, Type type) { + this.negativeValue = negativeValue; this.client = client; this.type = type; } @@ -639,6 +642,10 @@ protected long calculateConvertedGrossValue() { case BUY: case DELIVERY_INBOUND: + if (negativeValue.isNegativeValueAllowed()) + { + return total - feesAndTaxes; + } return Math.max(0, total - feesAndTaxes); case SELL: case DELIVERY_OUTBOUND: @@ -659,6 +666,10 @@ private long calculateTotal() return convertedGrossValue + feesAndTaxes; case SELL: case DELIVERY_OUTBOUND: + if (negativeValue.isNegativeValueAllowed()) + { + return convertedGrossValue - feesAndTaxes; + } return Math.max(0, convertedGrossValue - feesAndTaxes); default: throw new UnsupportedOperationException(); diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AbstractTransactionDialog.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AbstractTransactionDialog.java index 9882680893..4b0e181912 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AbstractTransactionDialog.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AbstractTransactionDialog.java @@ -10,6 +10,8 @@ import java.util.function.Consumer; import java.util.function.Supplier; +import jakarta.inject.Inject; + import org.eclipse.core.databinding.AggregateValidationStatus; import org.eclipse.core.databinding.DataBindingContext; import org.eclipse.core.databinding.UpdateValueStrategy; @@ -49,6 +51,7 @@ import org.eclipse.ui.forms.events.HyperlinkEvent; import org.eclipse.ui.forms.widgets.ImageHyperlink; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.Portfolio; import name.abuchen.portfolio.model.Security; @@ -94,14 +97,16 @@ public void focusGained(FocusEvent e) public void bindValue(String property, String description, Values values, boolean isMandatory) { - StringToCurrencyConverter converter = new StringToCurrencyConverter(values); + StringToCurrencyConverter converter = new StringToCurrencyConverter(values, + negativeValue.isNegativeValueAllowed()); UpdateValueStrategy strategy = new UpdateValueStrategy<>(); strategy.setAfterGetValidator(converter); strategy.setConverter(converter); if (isMandatory) { strategy.setAfterConvertValidator( - convertedValue -> convertedValue != null && convertedValue.longValue() > 0 + convertedValue -> convertedValue != null && (negativeValue.isNegativeValueAllowed() + || convertedValue.longValue() > 0) ? ValidationStatus.ok() : ValidationStatus.error(MessageFormat .format(Messages.MsgDialogInputRequired, description))); @@ -376,6 +381,9 @@ public IStatus getStatus() public static final int SAVE_AND_NEW_ID = 4711; + @Inject + protected NegativeValue negativeValue; + protected AbstractModel model; protected DataBindingContext context = new DataBindingContext(); protected ModelStatusListener status = new ModelStatusListener(); diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AccountTransactionDialog.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AccountTransactionDialog.java index 51db8a654b..6a4d4f4479 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AccountTransactionDialog.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AccountTransactionDialog.java @@ -78,7 +78,7 @@ public AccountTransactionDialog(@Named(IServiceConstants.ACTIVE_SHELL) Shell par @PostConstruct private void createModel(ExchangeRateProviderFactory factory, AccountTransaction.Type type) // NOSONAR { - AccountTransactionModel m = new AccountTransactionModel(client, type); + AccountTransactionModel m = new AccountTransactionModel(negativeValue, client, type); m.setExchangeRateProviderFactory(factory); setModel(m); diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AccountTransactionModel.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AccountTransactionModel.java index 37d5e24811..47c5074efe 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AccountTransactionModel.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AccountTransactionModel.java @@ -2,7 +2,6 @@ import java.math.BigDecimal; import java.math.RoundingMode; -import java.text.MessageFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -10,6 +9,7 @@ import org.eclipse.core.databinding.validation.ValidationStatus; import org.eclipse.core.runtime.IStatus; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.AccountTransaction.Type; @@ -39,6 +39,7 @@ public enum Properties public static final Security EMPTY_SECURITY = new Security("-----", ""); //$NON-NLS-1$ //$NON-NLS-2$ + protected final NegativeValue negativeValue; private final Client client; private AccountTransaction.Type type; @@ -69,8 +70,9 @@ public enum Properties private IStatus calculationStatus = ValidationStatus.ok(); - public AccountTransactionModel(Client client, AccountTransaction.Type type) + public AccountTransactionModel(NegativeValue negativeValue, Client client, AccountTransaction.Type type) { + this.negativeValue = negativeValue; this.client = client; this.type = type; @@ -291,11 +293,19 @@ private IStatus calculateStatus() long upper = Math.round(fxGrossAmount * exchangeRate.add(BigDecimal.valueOf(0.0001)).doubleValue()); long lower = Math.round(fxGrossAmount * exchangeRate.add(BigDecimal.valueOf(-0.0001)).doubleValue()); + if (negativeValue.isNegativeValueAllowed()) + { + long newUpper = Math.max(upper, lower); + lower = Math.min(upper, lower); + upper = newUpper; + } if (grossAmount < lower || grossAmount > upper) return ValidationStatus.error(Messages.MsgErrorConvertedAmount); + /* allow grossAmount to be zero in case of fees/taxes only transactions if (grossAmount == 0L) return ValidationStatus.error(MessageFormat.format(Messages.MsgDialogInputRequired, Messages.ColumnTotal)); + */ return ValidationStatus.ok(); } @@ -543,7 +553,7 @@ public void setGrossAmount(long amount) if (fxGrossAmount != 0) { BigDecimal newExchangeRate = BigDecimal.valueOf(amount).divide(BigDecimal.valueOf(fxGrossAmount), 10, - RoundingMode.HALF_UP); + RoundingMode.HALF_UP).abs(); BigDecimal oldInverseRate = getInverseExchangeRate(); firePropertyChange(Properties.exchangeRate.name(), this.exchangeRate, this.exchangeRate = newExchangeRate); // NOSONAR firePropertyChange(Properties.inverseExchangeRate.name(), oldInverseRate, getInverseExchangeRate()); @@ -644,7 +654,7 @@ public void triggerTotal(long total) protected BigDecimal calculateDividendAmount() { - if (shares > 0) + if (shares > 0 || negativeValue.isNegativeValueAllowed()) return BigDecimal.valueOf( (fxGrossAmount * Values.Share.factor()) / (double) shares / Values.Amount.divider()); else @@ -667,6 +677,10 @@ private long calculateTotal() { long totalFees = fees + Math.round(exchangeRate.doubleValue() * fxFees); long totalTaxes = taxes + Math.round(exchangeRate.doubleValue() * fxTaxes); + if (negativeValue.isNegativeValueAllowed()) + { + return grossAmount - totalTaxes - totalFees; + } return Math.max(0, grossAmount - totalTaxes - totalFees); } diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AccountTransferDialog.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AccountTransferDialog.java index 034064ef02..aa1e218df6 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AccountTransferDialog.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AccountTransferDialog.java @@ -82,7 +82,7 @@ public AccountTransferDialog(@Named(IServiceConstants.ACTIVE_SHELL) Shell parent @PostConstruct private void createModel(ExchangeRateProviderFactory factory) // NOSONAR { - AccountTransferModel m = new AccountTransferModel(client); + AccountTransferModel m = new AccountTransferModel(negativeValue, client); m.setExchangeRateProviderFactory(factory); setModel(m); } diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AccountTransferModel.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AccountTransferModel.java index 73431f28dc..9c3f30aff9 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AccountTransferModel.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/AccountTransferModel.java @@ -2,7 +2,6 @@ import java.math.BigDecimal; import java.math.RoundingMode; -import java.text.MessageFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -11,6 +10,7 @@ import org.eclipse.core.databinding.validation.ValidationStatus; import org.eclipse.core.runtime.IStatus; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.AccountTransferEntry; @@ -31,6 +31,7 @@ public enum Properties inverseExchangeRateCurrencies, calculationStatus; } + protected final NegativeValue negativeValue; private final Client client; private AccountTransferEntry source; @@ -47,8 +48,9 @@ public enum Properties private IStatus calculationStatus = ValidationStatus.ok(); - public AccountTransferModel(Client client) + public AccountTransferModel(NegativeValue negativeValue, Client client) { + this.negativeValue = negativeValue; this.client = client; } @@ -182,11 +184,23 @@ private IStatus calculateStatus() long upper = Math.round(fxAmount * exchangeRate.add(BigDecimal.valueOf(0.0001)).doubleValue()); long lower = Math.round(fxAmount * exchangeRate.add(BigDecimal.valueOf(-0.0001)).doubleValue()); - if (amount < lower || amount > upper) - return ValidationStatus.error(Messages.MsgErrorConvertedAmount); + if (negativeValue.isNegativeValueAllowed()) + { + if (amount >= 0 && (amount < lower || amount > upper)) + return ValidationStatus.error(Messages.MsgErrorConvertedAmount); + if (amount < 0 && (-amount < lower || -amount > upper)) + return ValidationStatus.error(Messages.MsgErrorConvertedAmount); + } + else + { + if (amount < lower || amount > upper) + return ValidationStatus.error(Messages.MsgErrorConvertedAmount); + } + /* allow grossAmount to be zero in case of fees/taxes only transactions if (amount == 0L || fxAmount == 0L) return ValidationStatus.error(MessageFormat.format(Messages.MsgDialogInputRequired, Messages.ColumnTotal)); + */ return ValidationStatus.ok(); } @@ -341,7 +355,7 @@ public void setAmount(long amount) if (fxAmount != 0) { BigDecimal newExchangeRate = BigDecimal.valueOf(amount).divide(BigDecimal.valueOf(fxAmount), 10, - RoundingMode.HALF_UP); + RoundingMode.HALF_UP).abs(); BigDecimal oldInverseRate = getInverseExchangeRate(); firePropertyChange(Properties.exchangeRate.name(), this.exchangeRate, this.exchangeRate = newExchangeRate); firePropertyChange(Properties.inverseExchangeRate.name(), oldInverseRate, getInverseExchangeRate()); diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/BuySellModel.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/BuySellModel.java index 9330ecfde1..829114a437 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/BuySellModel.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/BuySellModel.java @@ -2,6 +2,7 @@ import java.time.LocalDateTime; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Client; @@ -17,9 +18,9 @@ protected Account account; - public BuySellModel(Client client, PortfolioTransaction.Type type) + public BuySellModel(NegativeValue negativeValue, Client client, PortfolioTransaction.Type type) { - super(client, type); + super(negativeValue, client, type); if (!accepts(type)) throw new IllegalArgumentException("type " + type + " not accepted for this model"); //$NON-NLS-1$ //$NON-NLS-2$ diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/InvestmentPlanDialog.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/InvestmentPlanDialog.java index 67013334c8..e0514a8e83 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/InvestmentPlanDialog.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/InvestmentPlanDialog.java @@ -60,7 +60,7 @@ public InvestmentPlanDialog(@Named(IServiceConstants.ACTIVE_SHELL) Shell parentS this.client = client; this.planType = planType; - setModel(new InvestmentPlanModel(client, planType)); + setModel(new InvestmentPlanModel(negativeValue, client, planType)); } private InvestmentPlanModel model() diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/InvestmentPlanModel.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/InvestmentPlanModel.java index 1629dcebc3..13dd444ce7 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/InvestmentPlanModel.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/InvestmentPlanModel.java @@ -6,6 +6,7 @@ import org.eclipse.core.databinding.validation.ValidationStatus; import org.eclipse.core.runtime.IStatus; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.InvestmentPlan; @@ -23,6 +24,7 @@ public enum Properties public static final Account DELIVERY = new Account(Messages.InvestmentPlanOptionDelivery); + protected final NegativeValue negativeValue; private final Client client; private InvestmentPlan source; @@ -95,8 +97,9 @@ public String toString() } } - public InvestmentPlanModel(Client client, InvestmentPlan.Type planType) + public InvestmentPlanModel(NegativeValue negativeValue, Client client, InvestmentPlan.Type planType) { + this.negativeValue = negativeValue; this.client = client; this.planType = planType; } @@ -347,9 +350,9 @@ public void setAmount(long amount) long newGrossAmount = switch (planType) { - case PURCHASE_OR_DELIVERY -> Math.abs(amount - fees - taxes); - case INTEREST -> Math.abs(amount + taxes); - case DEPOSIT, REMOVAL -> Math.abs(amount); + case PURCHASE_OR_DELIVERY -> negativeValue.maybeAbs(amount - fees - taxes); + case INTEREST -> negativeValue.maybeAbs(amount + taxes); + case DEPOSIT, REMOVAL -> negativeValue.maybeAbs(amount); default -> throw new IllegalArgumentException(); }; @@ -412,7 +415,7 @@ private long calculateNewAmount() return switch (planType) { case PURCHASE_OR_DELIVERY -> grossAmount + fees + taxes; - case INTEREST -> Math.abs(grossAmount - taxes); + case INTEREST -> negativeValue.maybeAbs(grossAmount - taxes); case DEPOSIT, REMOVAL -> grossAmount; default -> throw new IllegalArgumentException(); }; diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/SecurityDeliveryModel.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/SecurityDeliveryModel.java index 07c5f6285c..c3ecf58d63 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/SecurityDeliveryModel.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/SecurityDeliveryModel.java @@ -2,6 +2,7 @@ import java.time.LocalDateTime; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Portfolio; import name.abuchen.portfolio.model.PortfolioTransaction; @@ -16,9 +17,9 @@ public class SecurityDeliveryModel extends AbstractSecurityTransactionModel private CurrencyUnit transactionCurrency; - public SecurityDeliveryModel(Client client, Type type) + public SecurityDeliveryModel(NegativeValue negativeValue, Client client, Type type) { - super(client, type); + super(negativeValue, client, type); if (!accepts(type)) throw new IllegalArgumentException("type " + type + " not accepted for this model"); //$NON-NLS-1$ //$NON-NLS-2$ diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/SecurityTransactionDialog.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/SecurityTransactionDialog.java index c3668c48e6..9caa3b4e7a 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/SecurityTransactionDialog.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dialogs/transactions/SecurityTransactionDialog.java @@ -64,8 +64,8 @@ public SecurityTransactionDialog(@Named(IServiceConstants.ACTIVE_SHELL) Shell pa private void createModel(ExchangeRateProviderFactory factory, PortfolioTransaction.Type type) // NOSONAR { boolean isBuySell = type == PortfolioTransaction.Type.BUY || type == PortfolioTransaction.Type.SELL; - AbstractSecurityTransactionModel model = isBuySell ? new BuySellModel(client, type) - : new SecurityDeliveryModel(client, type); + AbstractSecurityTransactionModel model = isBuySell ? new BuySellModel(negativeValue, client, type) + : new SecurityDeliveryModel(negativeValue, client, type); model.setExchangeRateProviderFactory(factory); setModel(model); diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dnd/ImportFromFileDropAdapter.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dnd/ImportFromFileDropAdapter.java index 96c8c647b7..f145da4c50 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dnd/ImportFromFileDropAdapter.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/dnd/ImportFromFileDropAdapter.java @@ -79,7 +79,8 @@ private void openCSVImport(DropTargetEvent event, String[] fileNames) DropTarget source = (DropTarget) event.getSource(); Display display = source.getDisplay(); display.asyncExec(() -> { - CSVImportWizard wizard = new CSVImportWizard(part.getClient(), part.getPreferenceStore(), + CSVImportWizard wizard = new CSVImportWizard(part.getNegativeValue(), part.getClient(), + part.getPreferenceStore(), new File(fileNames[0])); part.inject(wizard); Dialog wizwardDialog = new WizardDialog(ActiveShell.get(), wizard); diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/AbstractFinanceView.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/AbstractFinanceView.java index 7c873cd0c4..287adb5906 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/AbstractFinanceView.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/AbstractFinanceView.java @@ -28,6 +28,7 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.ToolBar; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.ui.UIConstants; import name.abuchen.portfolio.ui.util.Colors; @@ -41,6 +42,9 @@ public abstract class AbstractFinanceView { private final String identifier = getClass().getSimpleName() + "-newsash"; //$NON-NLS-1$ + @Inject + protected NegativeValue negativeValue; + @Inject private IEclipseContext context; @@ -53,7 +57,8 @@ public abstract class AbstractFinanceView /** * Track editor activation and delay updates until the editor is deactivated */ - private final EditorActivationState editorActivationState = new EditorActivationState(); + @Inject + private EditorActivationState editorActivationState; private Composite top; private InformationPane pane; @@ -386,4 +391,9 @@ public IStylingEngine getStylingEngine() { return stylingEngine; } + + public NegativeValue getNegativeValue() + { + return negativeValue; + } } diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/ClientInput.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/ClientInput.java index e766dbc86b..4c4297f07d 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/ClientInput.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/ClientInput.java @@ -41,6 +41,7 @@ import org.eclipse.swt.widgets.FileDialog; import org.eclipse.swt.widgets.Shell; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.model.SaveFlag; @@ -83,6 +84,9 @@ public class ClientInput private List disposeJobs = new ArrayList<>(); private List listeners = new ArrayList<>(); + @Inject + private NegativeValue negativeValue; + @Inject private IEventBroker broker; @@ -226,7 +230,7 @@ public void save(Shell shell) if (preferences.getBoolean(UIConstants.Preferences.CREATE_BACKUP_BEFORE_SAVING, true)) createBackup(clientFile, "backup"); //$NON-NLS-1$ - ClientFactory.save(client, clientFile); + ClientFactory.save(negativeValue, client, clientFile); storePreferences(false); broker.post(UIConstants.Event.File.SAVED, clientFile.getAbsolutePath()); @@ -265,7 +269,7 @@ public void doSaveAs(Shell shell, String extension, Set flags) // NOSO BusyIndicator.showWhile(shell.getDisplay(), () -> { try { - ClientFactory.saveAs(client, clientFile, pwd, flags); + ClientFactory.saveAs(negativeValue, client, clientFile, pwd, flags); storePreferences(true); broker.post(UIConstants.Event.File.SAVED, clientFile.getAbsolutePath()); @@ -300,7 +304,7 @@ public void doExportAs(Shell shell, String extension, Set flags) BusyIndicator.showWhile(shell.getDisplay(), () -> { try { - ClientFactory.exportAs(client, localFile, null, flags); + ClientFactory.exportAs(negativeValue, client, localFile, null, flags); } catch (IOException e) { @@ -372,7 +376,7 @@ public void autoSave() try { - ClientFactory.save(client, autosaveFile); + ClientFactory.save(negativeValue, client, autosaveFile); } catch (IOException e) { diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/ClientInputFactory.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/ClientInputFactory.java index 563a94414e..7cedb01401 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/ClientInputFactory.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/ClientInputFactory.java @@ -15,6 +15,7 @@ import org.eclipse.e4.core.di.annotations.Creatable; import org.eclipse.e4.core.services.events.IEventBroker; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.ui.selection.SelectionService; @@ -25,6 +26,9 @@ public class ClientInputFactory { private Map cache = new HashMap<>(); + @Inject + private NegativeValue negativeValue; + @Inject private IEclipseContext context; @@ -47,7 +51,7 @@ public synchronized ClientInput lookup(File clientFile) cache.put(answer, new AtomicInteger()); if (!ClientFactory.isEncrypted(clientFile)) - new LoadClientThread(answer, broker, new ProgressProvider(answer), null).start(); + new LoadClientThread(negativeValue, answer, broker, new ProgressProvider(answer), null).start(); return answer; } diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/EditorActivationState.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/EditorActivationState.java index abe4249a56..55490e3ac9 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/EditorActivationState.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/EditorActivationState.java @@ -1,9 +1,15 @@ package name.abuchen.portfolio.ui.editor; +import jakarta.annotation.PostConstruct; +import jakarta.inject.Inject; +import jakarta.inject.Singleton; + +import org.eclipse.e4.core.di.annotations.Creatable; import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent; import org.eclipse.jface.viewers.ColumnViewerEditorActivationListener; import org.eclipse.jface.viewers.ColumnViewerEditorDeactivationEvent; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.ui.preferences.Experiments; /** @@ -14,14 +20,34 @@ * ms. That results in an call to recalculate the tables which deactivates the * editor. Practically, it is not possible use the editor in this case. */ +@Creatable +@Singleton public class EditorActivationState { - private final boolean isFeatureEnabled = new Experiments() - .isEnabled(Experiments.Feature.JULY26_PREVENT_UPDATE_WHILE_EDITING_CELLS); + @Inject + private Experiments experiments; + + @Inject + private NegativeValue negativeValue; + + private boolean isFeatureEnabled; private boolean isEditorActive = false; private Runnable onEditorDeactivated; + public EditorActivationState() + { + // default constructor + } + + @PostConstruct + void init() + { + this.isFeatureEnabled = experiments.isEnabled(Experiments.Feature.JULY26_PREVENT_UPDATE_WHILE_EDITING_CELLS); + // set negative value feature in associated singleton + negativeValue.setNegativeValueAllowed(experiments.isEnabled(Experiments.Feature.JAN26_ALLOW_NEGATIVE_VALUES)); + } + private void activateEditor() { isEditorActive = true; diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/LoadClientThread.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/LoadClientThread.java index 3e1d81fea9..2e6dedfcd2 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/LoadClientThread.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/LoadClientThread.java @@ -5,6 +5,7 @@ import org.eclipse.e4.core.services.events.IEventBroker; import org.eclipse.swt.widgets.Display; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.ui.PortfolioPlugin; @@ -12,14 +13,17 @@ /* package */ class LoadClientThread extends Thread { + private final NegativeValue negativeValue; private final ClientInput clientInput; private final IEventBroker broker; private final ProgressProvider progressProvider; private final char[] password; - public LoadClientThread(ClientInput clientInput, IEventBroker broker, ProgressProvider progressProvider, + public LoadClientThread(NegativeValue negativeValue, ClientInput clientInput, IEventBroker broker, + ProgressProvider progressProvider, char[] password) { + this.negativeValue = negativeValue; this.clientInput = clientInput; this.broker = broker; this.progressProvider = progressProvider; @@ -31,7 +35,8 @@ public void run() { try { - Client client = ClientFactory.load(clientInput.getFile(), password, progressProvider.createMonitor()); + Client client = ClientFactory.load(negativeValue, clientInput.getFile(), password, + progressProvider.createMonitor()); Display.getDefault().asyncExec(() -> clientInput.setClient(client)); diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/PortfolioPart.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/PortfolioPart.java index 2088440ce1..976e832249 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/PortfolioPart.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/editor/PortfolioPart.java @@ -46,6 +46,7 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; import name.abuchen.portfolio.model.SaveFlag; @@ -76,6 +77,9 @@ public class PortfolioPart implements ClientInputListener private Control focus; + @Inject + protected NegativeValue negativeValue; + @Inject MPart part; @@ -142,6 +146,11 @@ else if (ClientFactory.isEncrypted(clientInput.getFile())) clientInputFactory.incrementEditorCount(clientInput); } + public NegativeValue getNegativeValue() + { + return negativeValue; + } + private void createContainerWithViews(Composite parent) { container = new Composite(parent, SWT.NONE); @@ -310,7 +319,8 @@ public void widgetDefaultSelected(SelectionEvent e) { final String password = pwd.getText(); - new LoadClientThread(clientInput, broker, new ProgressProvider(clientInput), password.toCharArray()) + new LoadClientThread(negativeValue, clientInput, broker, new ProgressProvider(clientInput), + password.toCharArray()) .start(); } }); diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/handlers/ImportCSVHandler.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/handlers/ImportCSVHandler.java index 2ff8c4f06d..0036f45911 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/handlers/ImportCSVHandler.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/handlers/ImportCSVHandler.java @@ -4,11 +4,14 @@ import java.util.ArrayList; import java.util.List; +import jakarta.inject.Inject; import jakarta.inject.Named; +import jakarta.inject.Singleton; import org.eclipse.e4.core.contexts.ContextInjectionFactory; import org.eclipse.e4.core.contexts.IEclipseContext; import org.eclipse.e4.core.di.annotations.CanExecute; +import org.eclipse.e4.core.di.annotations.Creatable; import org.eclipse.e4.core.di.annotations.Execute; import org.eclipse.e4.ui.model.application.ui.basic.MPart; import org.eclipse.e4.ui.services.IServiceConstants; @@ -22,6 +25,7 @@ import name.abuchen.portfolio.datatransfer.csv.CSVConfig; import name.abuchen.portfolio.datatransfer.csv.CSVConfigManager; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Portfolio; @@ -31,8 +35,13 @@ import name.abuchen.portfolio.ui.editor.PortfolioPart; import name.abuchen.portfolio.ui.wizards.datatransfer.CSVImportWizard; +@Creatable +@Singleton public class ImportCSVHandler { + @Inject + protected NegativeValue negativeValue; + @CanExecute boolean isVisible(@Named(IServiceConstants.ACTIVE_PART) MPart part) { @@ -50,7 +59,7 @@ public void execute(@Named(IServiceConstants.ACTIVE_PART) MPart part, configManager, index, client, null, null)); } - public static void runImport(PortfolioPart part, Shell shell, IEclipseContext context, + public void runImport(PortfolioPart part, Shell shell, IEclipseContext context, CSVConfigManager configManager, @org.eclipse.e4.core.di.annotations.Optional @Named("name.abuchen.portfolio.ui.param.name") String index, Client client, Account account, Portfolio portfolio) @@ -82,7 +91,7 @@ public static void runImport(PortfolioPart part, Shell shell, IEclipseContext co IPreferenceStore preferences = part.getPreferenceStore(); - CSVImportWizard wizard = new CSVImportWizard(client, preferences, new File(fileName)); + CSVImportWizard wizard = new CSVImportWizard(negativeValue, client, preferences, new File(fileName)); ContextInjectionFactory.inject(wizard, context); if (account != null) wizard.setTarget(account); diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/handlers/ImportIBHandler.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/handlers/ImportIBHandler.java index 1f9018d31d..adf0661f53 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/handlers/ImportIBHandler.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/handlers/ImportIBHandler.java @@ -7,6 +7,7 @@ import java.util.List; import java.util.Map; +import jakarta.inject.Inject; import jakarta.inject.Named; import org.eclipse.e4.core.di.annotations.CanExecute; @@ -24,16 +25,20 @@ import name.abuchen.portfolio.datatransfer.Extractor; import name.abuchen.portfolio.datatransfer.ibflex.IBFlexStatementExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.ui.Messages; -import name.abuchen.portfolio.ui.UIConstants; import name.abuchen.portfolio.ui.PortfolioPlugin; +import name.abuchen.portfolio.ui.UIConstants; import name.abuchen.portfolio.ui.editor.FilePathHelper; import name.abuchen.portfolio.ui.editor.PortfolioPart; import name.abuchen.portfolio.ui.wizards.datatransfer.ImportExtractedItemsWizard; public class ImportIBHandler { + @Inject + private NegativeValue negativeValue; + @CanExecute boolean isVisible(@Named(IServiceConstants.ACTIVE_PART) MPart part) { @@ -63,7 +68,8 @@ private void runImport(MPart part, Shell shell, Client client) try { - Extractor extractor = new IBFlexStatementExtractor(client); + var extractor = new IBFlexStatementExtractor(client); + extractor.setNegativeValue(negativeValue); PortfolioPart portPart = (PortfolioPart) part.getObject(); FilePathHelper helper = new FilePathHelper(portPart, UIConstants.Preferences.CSV_IMPORT_PATH); diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/handlers/ImportPDFHandler.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/handlers/ImportPDFHandler.java index c8183ee181..342e93a453 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/handlers/ImportPDFHandler.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/handlers/ImportPDFHandler.java @@ -172,7 +172,7 @@ public static void runImportWithFiles(PortfolioPart part, Shell shell, Client cl Map> result = new HashMap<>(); IRunnableWithProgress operation = monitor -> { - PDFImportAssistant assistent = new PDFImportAssistant(client, files); + PDFImportAssistant assistent = new PDFImportAssistant(part.getNegativeValue(), client, files); result.putAll(assistent.run(monitor, errors)); }; diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/handlers/OpenSampleHandler.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/handlers/OpenSampleHandler.java index 4072b6beea..b4bc441404 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/handlers/OpenSampleHandler.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/handlers/OpenSampleHandler.java @@ -29,6 +29,7 @@ import org.eclipse.jface.operation.IRunnableWithProgress; import org.eclipse.swt.widgets.Shell; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Classification; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.ClientFactory; @@ -49,6 +50,9 @@ public class OpenSampleHandler { + @Inject + private NegativeValue negativeValue; + @Inject private UISynchronize sync; @@ -78,7 +82,7 @@ public void run(IProgressMonitor monitor) throws InvocationTargetException, Inte new InputStreamReader(inputStream, StandardCharsets.UTF_8), buildResourcesTokenResolver()); - final Client client = ClientFactory.load(replacingReader); + final Client client = ClientFactory.load(negativeValue, replacingReader); fixTaxonomyLabels(client); fixDashboardLabels(client); diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/preferences/Experiments.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/preferences/Experiments.java index dc0e0e70dd..74d3e5cc33 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/preferences/Experiments.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/preferences/Experiments.java @@ -5,14 +5,31 @@ import java.util.HashSet; import java.util.Set; +import jakarta.inject.Singleton; + +import org.eclipse.e4.core.di.annotations.Creatable; + import name.abuchen.portfolio.ui.PortfolioPlugin; import name.abuchen.portfolio.ui.UIConstants; +@Creatable +@Singleton public class Experiments { - public enum Feature + public static enum Feature { - JULY26_PREVENT_UPDATE_WHILE_EDITING_CELLS + JULY26_PREVENT_UPDATE_WHILE_EDITING_CELLS, + /** + * Experimental feature for relaxing the restriction of providing + * positive values for the most input and CSV fields. With this set to + * true, most fields also accepts negative values. In addition the + * (gross) amount now accepts 0 (zero). + *

+ * ATTENTION:
+ * After setting this to true and adding some transactions ('Buchungen') + * that use this feature, there is NO WAY BACK! + */ + JAN26_ALLOW_NEGATIVE_VALUES } public boolean isEnabled(Feature feature) diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/util/BindingHelper.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/util/BindingHelper.java index 7ab4cdae92..a7d968d703 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/util/BindingHelper.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/util/BindingHelper.java @@ -43,6 +43,7 @@ import org.eclipse.swt.widgets.Spinner; import org.eclipse.swt.widgets.Text; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.money.CurrencyUnit; import name.abuchen.portfolio.money.Values; @@ -391,26 +392,30 @@ public final Control bindDatePicker(Composite editArea, String label, String pro return boxDate.getControl(); } - public final Control bindMandatoryAmountInput(Composite editArea, final String label, String property, int style, + public final Control bindMandatoryAmountInput(NegativeValue negativeValue, Composite editArea, final String label, + String property, int style, int lenghtInCharacters) { Text txtValue = createTextInput(editArea, label, style, lenghtInCharacters); DecimalKeypadSupport.configure(txtValue); - bindMandatoryDecimalInput(label, property, txtValue, Values.Amount); + bindMandatoryDecimalInput(negativeValue, label, property, txtValue, Values.Amount); return txtValue; } - public final Control bindMandatoryQuoteInput(Composite editArea, final String label, String property) + public final Control bindMandatoryQuoteInput(NegativeValue negativeValue, Composite editArea, final String label, + String property) { Text txtValue = createTextInput(editArea, label); DecimalKeypadSupport.configure(txtValue); - bindMandatoryDecimalInput(label, property, txtValue, Values.Quote); + bindMandatoryDecimalInput(negativeValue, label, property, txtValue, Values.Quote); return txtValue; } - private void bindMandatoryDecimalInput(final String label, String property, Text txtValue, Values type) + private void bindMandatoryDecimalInput(NegativeValue negativeValue, final String label, String property, + Text txtValue, Values type) { - StringToCurrencyConverter converter = new StringToCurrencyConverter(type); + StringToCurrencyConverter converter = new StringToCurrencyConverter(type, + negativeValue.isNegativeValueAllowed()); UpdateValueStrategy input2model = new UpdateValueStrategy<>(); input2model.setAfterGetValidator(converter); diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/util/viewers/ValueEditingSupport.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/util/viewers/ValueEditingSupport.java index 0039807372..3a9a9d6068 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/util/viewers/ValueEditingSupport.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/util/viewers/ValueEditingSupport.java @@ -8,6 +8,7 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Text; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.money.Values; import name.abuchen.portfolio.ui.Messages; import name.abuchen.portfolio.ui.util.CurrencyToStringConverter; @@ -17,15 +18,18 @@ public class ValueEditingSupport extends PropertyEditingSupport { + protected final NegativeValue negativeValue; private final StringToCurrencyConverter stringToLong; private final CurrencyToStringConverter longToString; private final Predicate validator; - public ValueEditingSupport(Class subjectType, String attributeName, Values valueType, + public ValueEditingSupport(NegativeValue negativeValue, Class subjectType, String attributeName, + Values valueType, Predicate validator) { super(subjectType, attributeName); + this.negativeValue = negativeValue; this.validator = validator; @@ -34,13 +38,14 @@ public ValueEditingSupport(Class subjectType, String attributeName, Values subjectType, String attributeName, Values valueType) + public ValueEditingSupport(NegativeValue negativeValue, Class subjectType, String attributeName, + Values valueType) { - this(subjectType, attributeName, valueType, null); + this(negativeValue, subjectType, attributeName, valueType, null); } @Override diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/AccountListView.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/AccountListView.java index 30eea578ef..e5b9117bbc 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/AccountListView.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/AccountListView.java @@ -10,6 +10,7 @@ import java.util.Map; import jakarta.annotation.PostConstruct; +import jakarta.inject.Inject; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.IMenuManager; @@ -66,6 +67,9 @@ public class AccountListView extends AbstractFinanceView implements Modification { private static final String FILTER_INACTIVE_ACCOUNTS = "filter-redired-accounts"; //$NON-NLS-1$ + @Inject + private ImportCSVHandler importCSVHandler; + private TableViewer accounts; /** @@ -291,11 +295,12 @@ private void fillAccountsContextMenu(IMenuManager manager) // NOSONAR manager.add(new Separator()); manager.add(new SimpleAction(Messages.AccountMenuTroubleshootBalanceDiscrepancy, - a -> new TroubleshootBalanceDiscrepancyDialog(getActiveShell(), getPart().getClientInput(), + a -> new TroubleshootBalanceDiscrepancyDialog(negativeValue, getActiveShell(), + getPart().getClientInput(), account).open())); manager.add(new Separator()); - manager.add(new SimpleAction(Messages.AccountMenuImportCSV, a -> ImportCSVHandler.runImport(getPart(), + manager.add(new SimpleAction(Messages.AccountMenuImportCSV, a -> importCSVHandler.runImport(getPart(), Display.getDefault().getActiveShell(), getContext(), null, null, getClient(), account, null))); manager.add(new SimpleAction(Messages.AccountMenuImportPDF, a -> ImportPDFHandler.runImport(getPart(), diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/InvestmentPlanListView.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/InvestmentPlanListView.java index de6084a7c7..41783f25ac 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/InvestmentPlanListView.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/InvestmentPlanListView.java @@ -300,7 +300,8 @@ public String getText(Object e) } }); ColumnViewerSorter.create(InvestmentPlan.class, "amount").attachTo(column); //$NON-NLS-1$ - new ValueEditingSupport(InvestmentPlan.class, "amount", Values.Amount).addListener(this).attachTo(column); //$NON-NLS-1$ + new ValueEditingSupport(negativeValue, InvestmentPlan.class, "amount", Values.Amount).addListener(this) //$NON-NLS-1$ + .attachTo(column); support.addColumn(column); column = new Column(Messages.ColumnFees, SWT.RIGHT, 80); diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/PortfolioListView.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/PortfolioListView.java index 22ac54492a..a498f9a3a2 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/PortfolioListView.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/PortfolioListView.java @@ -67,6 +67,9 @@ public class PortfolioListView extends AbstractFinanceView implements Modificati { private static final String FILTER_INACTIVE_PORTFOLIOS = "filter-retired-portfolios"; //$NON-NLS-1$ + @Inject + private ImportCSVHandler importCSVHandler; + @Inject private ExchangeRateProviderFactory factory; @@ -324,7 +327,7 @@ private void fillPortfolioContextMenu(IMenuManager manager) { manager.add(new Separator()); - manager.add(new SimpleAction(Messages.AccountMenuImportCSV, a -> ImportCSVHandler.runImport(getPart(), + manager.add(new SimpleAction(Messages.AccountMenuImportCSV, a -> importCSVHandler.runImport(getPart(), Display.getDefault().getActiveShell(), getContext(), null, null, getClient(), portfolio.getReferenceAccount(), portfolio))); diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/QuotesContextMenu.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/QuotesContextMenu.java index ac54ac75eb..e642151029 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/QuotesContextMenu.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/QuotesContextMenu.java @@ -175,7 +175,8 @@ public void run() if (fileName == null) return; - CSVImportWizard wizard = new CSVImportWizard(owner.getClient(), owner.getPreferenceStore(), + CSVImportWizard wizard = new CSVImportWizard(owner.getNegativeValue(), owner.getClient(), + owner.getPreferenceStore(), new File(fileName)); owner.inject(wizard); wizard.setTarget(security); @@ -210,7 +211,8 @@ public void run() @Override public void run() { - Dialog dialog = new SecurityPriceDialog(Display.getDefault().getActiveShell(), owner.getClient(), + Dialog dialog = new SecurityPriceDialog(owner.getNegativeValue(), Display.getDefault().getActiveShell(), + owner.getClient(), security); if (dialog.open() != Window.OK) diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/SecurityListView.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/SecurityListView.java index f32ea1dec5..f42862ce33 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/SecurityListView.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/SecurityListView.java @@ -109,7 +109,8 @@ public void run() if (fileName == null) return; - CSVImportWizard wizard = new CSVImportWizard(getClient(), getPreferenceStore(), new File(fileName)); + CSVImportWizard wizard = new CSVImportWizard(negativeValue, getClient(), getPreferenceStore(), + new File(fileName)); inject(wizard); // pre-select import of securities diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/TransactionsViewer.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/TransactionsViewer.java index 043c1e1b67..9188dca531 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/TransactionsViewer.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/TransactionsViewer.java @@ -6,6 +6,7 @@ import java.util.Set; import java.util.function.Function; +import jakarta.annotation.PostConstruct; import jakarta.inject.Inject; import org.eclipse.jface.action.IMenuManager; @@ -28,6 +29,7 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Menu; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.PortfolioTransaction; import name.abuchen.portfolio.model.Security; @@ -122,10 +124,15 @@ public Color getBackground(Object element) } } + @Inject + protected NegativeValue negativeValue; + @Inject private SelectionService selectionService; - private AbstractFinanceView owner; + private final String identifier; + private final Composite parent; + private final AbstractFinanceView owner; private Set> marked = new HashSet<>(); private TableViewer tableViewer; @@ -141,8 +148,14 @@ public TransactionsViewer(Composite parent, AbstractFinanceView owner) public TransactionsViewer(String identifier, Composite parent, AbstractFinanceView owner) { + this.identifier = identifier; + this.parent = parent; this.owner = owner; + } + @PostConstruct + void init() + { Composite container = new Composite(parent, SWT.NONE); TableColumnLayout layout = new TableColumnLayout(); container.setLayout(layout); @@ -339,7 +352,7 @@ public Color getBackground(Object element) } }); ColumnViewerSorter.create(e -> ((TransactionPair) e).getTransaction().getShares()).attachTo(column); - new ValueEditingSupport(Transaction.class, "shares", Values.Share) //$NON-NLS-1$ + new ValueEditingSupport(negativeValue, Transaction.class, "shares", Values.Share) //$NON-NLS-1$ .setCanEditCheck(e -> ((TransactionPair) e).getTransaction() instanceof PortfolioTransaction || (((TransactionPair) e).getTransaction() instanceof AccountTransaction && ((AccountTransaction) ((TransactionPair) e) diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/currency/CurrencyConverterTab.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/currency/CurrencyConverterTab.java index 9b43fc70b5..3f3bef0ff6 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/currency/CurrencyConverterTab.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/currency/CurrencyConverterTab.java @@ -23,6 +23,7 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.money.CurrencyConverter; import name.abuchen.portfolio.money.CurrencyConverterImpl; import name.abuchen.portfolio.money.CurrencyUnit; @@ -192,6 +193,9 @@ public boolean hasChildren(Object element) } } + @Inject + protected NegativeValue negativeValue; + @Inject private IPreferenceStore preferences; @@ -226,9 +230,10 @@ public Composite createTab(Composite parent) GridLayoutFactory.fillDefaults().numColumns(2).applyTo(editArea); bindings.createErrorLabel(editArea); - bindings.bindMandatoryAmountInput(editArea, Messages.ColumnAmount, "baseValue", SWT.NONE, 10); //$NON-NLS-1$ + bindings.bindMandatoryAmountInput(negativeValue, editArea, Messages.ColumnAmount, "baseValue", SWT.NONE, 10); //$NON-NLS-1$ bindings.bindCurrencyCodeCombo(editArea, Messages.ColumnBaseCurrency, "baseCurrency", false); //$NON-NLS-1$ - bindings.bindMandatoryAmountInput(editArea, Messages.ColumnConvertedAmount, "termValue", SWT.READ_ONLY, 10); //$NON-NLS-1$ + bindings.bindMandatoryAmountInput(negativeValue, editArea, Messages.ColumnConvertedAmount, "termValue", //$NON-NLS-1$ + SWT.READ_ONLY, 10); bindings.bindCurrencyCodeCombo(editArea, Messages.ColumnTermCurrency, "termCurrency", false); //$NON-NLS-1$ bindings.bindDatePicker(editArea, Messages.ColumnDate, "date").setBackground(Colors.WHITE); //$NON-NLS-1$ diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/panes/AccountTransactionsPane.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/panes/AccountTransactionsPane.java index 8ad82877a2..31d604404e 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/panes/AccountTransactionsPane.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/panes/AccountTransactionsPane.java @@ -33,6 +33,7 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.AccountTransaction.Type; @@ -89,6 +90,9 @@ public class AccountTransactionsPane implements InformationPanePage, ModificationListener { + @Inject + protected NegativeValue negativeValue; + @Inject private Client client; @@ -374,7 +378,7 @@ public Color getForeground(Object element) return colorFor((AccountTransaction) element); } }); - new ValueEditingSupport(AccountTransaction.class, "shares", Values.Share) //$NON-NLS-1$ + new ValueEditingSupport(negativeValue, AccountTransaction.class, "shares", Values.Share) //$NON-NLS-1$ { @Override public boolean canEdit(Object element) diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/panes/HistoricalPricesDataQualityPane.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/panes/HistoricalPricesDataQualityPane.java index bc2110b863..bdc27368bf 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/panes/HistoricalPricesDataQualityPane.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/panes/HistoricalPricesDataQualityPane.java @@ -20,6 +20,7 @@ import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Adaptor; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Security; @@ -46,6 +47,9 @@ public class HistoricalPricesDataQualityPane implements InformationPanePage { + @Inject + private NegativeValue negativeValue; + @Inject private IPreferenceStore preferences; @@ -135,7 +139,8 @@ private void addContextMenuToAddPrices(TableViewer table) return; manager.add(new SimpleAction(Messages.SecurityMenuAddPrice, a -> { - SecurityPriceDialog dialog = new SecurityPriceDialog(Display.getDefault().getActiveShell(), client, + SecurityPriceDialog dialog = new SecurityPriceDialog(negativeValue, + Display.getDefault().getActiveShell(), client, security); dialog.setDate(((Interval) firstElement).getStart()); diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/panes/HistoricalPricesPane.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/panes/HistoricalPricesPane.java index 721da4a9de..ec9917c348 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/panes/HistoricalPricesPane.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/panes/HistoricalPricesPane.java @@ -25,6 +25,7 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Display; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Adaptor; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Security; @@ -52,6 +53,9 @@ public class HistoricalPricesPane implements InformationPanePage { + @Inject + protected NegativeValue negativeValue; + @Inject private Client client; @@ -161,7 +165,8 @@ public String getText(Object element) } }); ColumnViewerSorter.create(SecurityPrice.class, "value").attachTo(column); //$NON-NLS-1$ - new ValueEditingSupport(SecurityPrice.class, "value", Values.Quote, number -> number.longValue() != 0) //$NON-NLS-1$ + new ValueEditingSupport(negativeValue, SecurityPrice.class, "value", Values.Quote, //$NON-NLS-1$ + number -> number.longValue() != 0) .addListener((e, o, n) -> client.markDirty()).attachTo(column); support.addColumn(column); @@ -182,7 +187,8 @@ private void fillPricesContextMenu(IMenuManager manager) if (security != null) { manager.add(new SimpleAction(Messages.SecurityMenuAddPrice, a -> { - Dialog dialog = new SecurityPriceDialog(Display.getDefault().getActiveShell(), client, security); + Dialog dialog = new SecurityPriceDialog(negativeValue, Display.getDefault().getActiveShell(), client, + security); if (dialog.open() != Window.OK) return; diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/taxonomy/AbstractNodeTreeViewer.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/taxonomy/AbstractNodeTreeViewer.java index 97143eb36e..e7e5a86feb 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/taxonomy/AbstractNodeTreeViewer.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/taxonomy/AbstractNodeTreeViewer.java @@ -47,6 +47,7 @@ import com.google.common.base.Strings; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Classification; import name.abuchen.portfolio.model.Classification.Assignment; import name.abuchen.portfolio.model.InvestmentVehicle; @@ -287,6 +288,9 @@ private enum SortCriterion protected static final String MENU_GROUP_CUSTOM_ACTIONS = "customActions"; //$NON-NLS-1$ protected static final String MENU_GROUP_DELETE_ACTIONS = "deleteActions"; //$NON-NLS-1$ + @Inject + protected NegativeValue negativeValue; + @Inject private SelectionService selectionService; @@ -601,7 +605,7 @@ public Image getImage(Object element) } }); - new ValueEditingSupport(TaxonomyNode.class, "weight", Values.Weight) //$NON-NLS-1$ + new ValueEditingSupport(negativeValue, TaxonomyNode.class, "weight", Values.Weight) //$NON-NLS-1$ { @Override public boolean canEdit(Object element) diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/taxonomy/ReBalancingViewer.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/taxonomy/ReBalancingViewer.java index 64a8fb7857..d27d290814 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/taxonomy/ReBalancingViewer.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/taxonomy/ReBalancingViewer.java @@ -531,7 +531,7 @@ public Image getImage(Object element) return node.isClassification() && getModel().hasWeightError(node) ? Images.QUICKFIX.image() : null; } }); - new ValueEditingSupport(TaxonomyNode.class, "weight", Values.Weight) //$NON-NLS-1$ + new ValueEditingSupport(negativeValue, TaxonomyNode.class, "weight", Values.Weight) //$NON-NLS-1$ { @Override public boolean canEdit(Object element) diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/wizards/datatransfer/CSVImportDefinitionPage.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/wizards/datatransfer/CSVImportDefinitionPage.java index 445dfecfac..40348bef5a 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/wizards/datatransfer/CSVImportDefinitionPage.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/wizards/datatransfer/CSVImportDefinitionPage.java @@ -310,6 +310,7 @@ private ComboViewer createExtractorComboViewer(Composite container) { Combo cmbExtractor = new Combo(container, SWT.READ_ONLY); ComboViewer extractor = new ComboViewer(cmbExtractor); + extractor.setContentProvider(ArrayContentProvider.getInstance()); extractor.setInput(importer.getExtractors()); extractor.getCombo().setEnabled(!onlySecurityPrices); diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/wizards/datatransfer/CSVImportWizard.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/wizards/datatransfer/CSVImportWizard.java index 2c0588a15f..dd524a67f2 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/wizards/datatransfer/CSVImportWizard.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/wizards/datatransfer/CSVImportWizard.java @@ -21,6 +21,7 @@ import name.abuchen.portfolio.datatransfer.csv.CSVConfig; import name.abuchen.portfolio.datatransfer.csv.CSVConfigManager; import name.abuchen.portfolio.datatransfer.csv.CSVImporter; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Portfolio; @@ -35,6 +36,7 @@ public class CSVImportWizard extends Wizard { private static class ExtractorProxy implements Extractor { + private NegativeValue negativeValue; private final CSVImporter importer; public ExtractorProxy(CSVImporter importer) @@ -59,6 +61,18 @@ public List extract(List file, List errors) { return this.importer.createItems(errors); } + + @Override + public NegativeValue getNegativeValue() + { + return negativeValue; + } + + @Override + public void setNegativeValue(NegativeValue negativeValue) + { + this.negativeValue = negativeValue; + } } /* package */static final String REVIEW_PAGE_ID = "reviewitems"; //$NON-NLS-1$ @@ -101,11 +115,11 @@ public List extract(List file, List errors) private ReviewExtractedItemsPage reviewPage; private SelectSecurityPage selectSecurityPage; - public CSVImportWizard(Client client, IPreferenceStore preferences, File inputFile) + public CSVImportWizard(NegativeValue negativeValue, Client client, IPreferenceStore preferences, File inputFile) { this.client = client; this.preferences = preferences; - this.importer = new CSVImporter(client, inputFile); + this.importer = new CSVImporter(negativeValue, client, inputFile); setupEncoding(); diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/wizards/datatransfer/ImportExtractedItemsWizard.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/wizards/datatransfer/ImportExtractedItemsWizard.java index 74a46e4642..0af7486322 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/wizards/datatransfer/ImportExtractedItemsWizard.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/wizards/datatransfer/ImportExtractedItemsWizard.java @@ -13,6 +13,7 @@ import name.abuchen.portfolio.datatransfer.Extractor; import name.abuchen.portfolio.datatransfer.Extractor.Item; import name.abuchen.portfolio.datatransfer.SecurityCache; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Portfolio; @@ -101,6 +102,19 @@ public List extract(List file, List errors) { return entry.getValue(); } + + @Override + public NegativeValue getNegativeValue() + { + // dummy implementation + return null; + } + + @Override + public void setNegativeValue(NegativeValue negativeValue) + { + // dummy implementation + } }) // .forEach(extractor -> { ReviewExtractedItemsPage page = new ReviewExtractedItemsPage(client, extractor, preferences, diff --git a/name.abuchen.portfolio/.classpath b/name.abuchen.portfolio/.classpath index f3b1b6dd20..46e96893bf 100644 --- a/name.abuchen.portfolio/.classpath +++ b/name.abuchen.portfolio/.classpath @@ -5,7 +5,11 @@ - + + + + + diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/Extractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/Extractor.java index 153f443d0c..189b985c48 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/Extractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/Extractor.java @@ -15,6 +15,7 @@ import name.abuchen.portfolio.datatransfer.ImportAction.Status; import name.abuchen.portfolio.datatransfer.ibflex.IBFlexStatementExtractor; import name.abuchen.portfolio.datatransfer.pdf.AbstractPDFExtractor; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.AccountTransferEntry; @@ -859,4 +860,8 @@ default void postProcessing(List result) { } + NegativeValue getNegativeValue(); + + void setNegativeValue(NegativeValue negativeValue); + } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/ExtractorUtils.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/ExtractorUtils.java index a2792e40e7..5c4720558b 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/ExtractorUtils.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/ExtractorUtils.java @@ -22,6 +22,7 @@ import java.util.function.Consumer; import name.abuchen.portfolio.Messages; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.BuySellEntry; import name.abuchen.portfolio.model.Transaction; @@ -343,7 +344,8 @@ public static void checkAndSetFee(Money fee, name.abuchen.portfolio.model.Transa } } - public static long convertToNumberLong(String value, Values valueType, String language, String country) + public static long convertToNumberLong(NegativeValue negativeValue, String value, Values valueType, + String language, String country) { var newNumberFormat = (DecimalFormat) NumberFormat .getInstance(Locale.forLanguageTag(language + "-" + country)); @@ -386,7 +388,7 @@ public static long convertToNumberLong(String value, Values valueType, Str try { - return Math.abs(Math.round(newNumberFormat.parse(value).doubleValue() * valueType.factor())); + return negativeValue.maybeAbs(Math.round(newNumberFormat.parse(value).doubleValue() * valueType.factor())); } catch (ParseException e) { @@ -394,7 +396,8 @@ public static long convertToNumberLong(String value, Values valueType, Str } } - public static BigDecimal convertToNumberBigDecimal(String value, Values valueType, String language, + public static BigDecimal convertToNumberBigDecimal(NegativeValue negativeValue, String value, + Values valueType, String language, String country) { /** @@ -446,9 +449,9 @@ public static BigDecimal convertToNumberBigDecimal(String value, Values va } } - public static long asShares(String value, String language, String country) + public static long asShares(NegativeValue negativeValue, String value, String language, String country) { - return convertToNumberLong(value, Values.Share, language, country); + return convertToNumberLong(negativeValue, value, Values.Share, language, country); } public static LocalDateTime asDate(String value, Locale... hints) diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/BaseCSVExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/BaseCSVExtractor.java index 76359ead35..823ec5362a 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/BaseCSVExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/BaseCSVExtractor.java @@ -39,6 +39,7 @@ /* package */ BaseCSVExtractor(Client client, String label) { + super(); this.client = client; this.label = label; this.fields = new ArrayList<>(); @@ -179,7 +180,7 @@ protected Optional getSecurityPrice(String dateField, String[] ra if (date == null) date = LocalDate.now().atStartOfDay(); - return Optional.of(new SecurityPrice(date.toLocalDate(), Math.abs(amount))); + return Optional.of(new SecurityPrice(date.toLocalDate(), negativeValue.maybeAbs(amount))); } protected Optional extractGrossAmount(String[] rawValues, Map field2column, Money amount) @@ -204,7 +205,7 @@ protected Optional extractGrossAmount(String[] rawValues, Map extractGrossAmount(String[] rawValues, Map items, String[] rawValues, Map field2col } else { - entry.setAmount(Math.abs(amount.getAmount())); + entry.setAmount(negativeValue.maybeAbs(amount.getAmount())); entry.setCurrencyCode(amount.getCurrencyCode()); } entry.setDate(date); @@ -125,8 +125,8 @@ void extract(List items, String[] rawValues, Map field2col var buySellEntry = new BuySellEntry(); buySellEntry.setType(PortfolioTransaction.Type.valueOf(type.name())); - buySellEntry.setAmount(Math.abs(amount.getAmount())); - buySellEntry.setShares(Math.abs(shares)); + buySellEntry.setAmount(negativeValue.maybeAbs(amount.getAmount())); + buySellEntry.setShares(negativeValue.maybeAbs(shares)); buySellEntry.setCurrencyCode(amount.getCurrencyCode()); buySellEntry.setSecurity(security); buySellEntry.setDate(date); @@ -137,11 +137,13 @@ void extract(List items, String[] rawValues, Map field2col if (taxes != null && taxes.longValue() != 0) buySellEntry.getPortfolioTransaction().addUnit(new Unit(Unit.Type.TAX, Money - .of(buySellEntry.getPortfolioTransaction().getCurrencyCode(), Math.abs(taxes)))); + .of(buySellEntry.getPortfolioTransaction().getCurrencyCode(), + negativeValue.maybeAbs(taxes)))); if (fees != null && fees.longValue() != 0) buySellEntry.getPortfolioTransaction().addUnit(new Unit(Unit.Type.FEE, Money - .of(buySellEntry.getPortfolioTransaction().getCurrencyCode(), Math.abs(fees)))); + .of(buySellEntry.getPortfolioTransaction().getCurrencyCode(), + negativeValue.maybeAbs(fees)))); if (!grossAmount.isPresent()) createGrossValueIfNecessary(rawValues, field2column, buySellEntry.getPortfolioTransaction()); @@ -175,7 +177,7 @@ void extract(List items, String[] rawValues, Map field2col case INTEREST, INTEREST_CHARGE: var t = new AccountTransaction(); t.setType(type); - t.setAmount(Math.abs(amount.getAmount())); + t.setAmount(negativeValue.maybeAbs(amount.getAmount())); t.setCurrencyCode(amount.getCurrencyCode()); if (type == Type.DIVIDENDS || type == Type.TAXES || type == Type.TAX_REFUND || type == Type.FEES || type == Type.FEES_REFUND) @@ -186,18 +188,19 @@ void extract(List items, String[] rawValues, Map field2col if (type == Type.DIVIDENDS) { if (shares != null) - t.setShares(Math.abs(shares)); + t.setShares(negativeValue.maybeAbs(shares)); if (taxes != null && taxes.longValue() != 0) - t.addUnit(new Unit(Unit.Type.TAX, Money.of(t.getCurrencyCode(), Math.abs(taxes)))); + t.addUnit(new Unit(Unit.Type.TAX, + Money.of(t.getCurrencyCode(), negativeValue.maybeAbs(taxes)))); if (fees != null && fees.longValue() != 0) - t.addUnit(new Unit(Unit.Type.FEE, Money.of(t.getCurrencyCode(), Math.abs(fees)))); + t.addUnit(new Unit(Unit.Type.FEE, Money.of(t.getCurrencyCode(), negativeValue.maybeAbs(fees)))); } if (type == Type.INTEREST && taxes != null && taxes.longValue() != 0) { - t.addUnit(new Unit(Unit.Type.TAX, Money.of(t.getCurrencyCode(), Math.abs(taxes)))); + t.addUnit(new Unit(Unit.Type.TAX, Money.of(t.getCurrencyCode(), negativeValue.maybeAbs(taxes)))); } if (security != null && grossAmount.isPresent()) diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/CSVExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/CSVExtractor.java index b5ce1153d5..16f4f73430 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/CSVExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/CSVExtractor.java @@ -17,6 +17,7 @@ import name.abuchen.portfolio.datatransfer.csv.CSVImporter.Column; import name.abuchen.portfolio.datatransfer.csv.CSVImporter.Field; import name.abuchen.portfolio.datatransfer.csv.CSVImporter.FieldFormat; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Portfolio; @@ -25,8 +26,14 @@ public abstract class CSVExtractor implements Extractor { + protected NegativeValue negativeValue; + public abstract List getFields(); + public CSVExtractor() + { + } + public Field getField(String code) { return getFields().stream().filter(f -> f.getCode().equals(code)).findFirst().orElse(null); @@ -188,7 +195,7 @@ protected final Long getShares(String name, String[] rawValues, Map values; - public CSVImporter(Client client, File file) + public CSVImporter(NegativeValue negativeValue, Client client, File file) { this.client = client; this.inputFile = file; - this.extractors = Collections.unmodifiableList(Arrays.asList(new CSVAccountTransactionExtractor(client), - new CSVPortfolioTransactionExtractor(client), new CSVSecurityExtractor(client), - new CSVSecurityPriceExtractor(), new CSVPortfolioExtractor(client))); + this.extractors = Collections.unmodifiableList(Arrays.asList( + new CSVAccountTransactionExtractor(client), new CSVPortfolioTransactionExtractor(client), + new CSVSecurityExtractor(client), new CSVSecurityPriceExtractor(), + new CSVPortfolioExtractor(client))); + + for (Extractor e : this.extractors) + { + e.setNegativeValue(negativeValue); + } + this.currentExtractor = extractors.get(0); } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/CSVPortfolioExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/CSVPortfolioExtractor.java index b5afe10cda..8e060d9960 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/CSVPortfolioExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/CSVPortfolioExtractor.java @@ -94,7 +94,7 @@ void extract(List items, String[] rawValues, Map field2col entry.setType(PortfolioTransaction.Type.BUY); entry.setSecurity(security); entry.setDate(date); - entry.setAmount(Math.abs(valuation.getAmount())); + entry.setAmount(negativeValue.maybeAbs(valuation.getAmount())); entry.setCurrencyCode(valuation.getCurrencyCode()); entry.setShares(shares); entry.setNote(note); diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/CSVPortfolioTransactionExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/CSVPortfolioTransactionExtractor.java index 70b5304080..2660aa377d 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/CSVPortfolioTransactionExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/CSVPortfolioTransactionExtractor.java @@ -138,7 +138,7 @@ private Item createBuySell(String[] rawValues, Map field2column, entry.setType(type); entry.setSecurity(security); entry.setDate(date); - entry.setAmount(Math.abs(amount.getAmount())); + entry.setAmount(negativeValue.maybeAbs(amount.getAmount())); entry.setCurrencyCode(amount.getCurrencyCode()); entry.setShares(shares); entry.setNote(note); @@ -148,11 +148,13 @@ private Item createBuySell(String[] rawValues, Map field2column, if (fees != null && fees.longValue() != 0) entry.getPortfolioTransaction() - .addUnit(new Unit(Unit.Type.FEE, Money.of(amount.getCurrencyCode(), Math.abs(fees)))); + .addUnit(new Unit(Unit.Type.FEE, + Money.of(amount.getCurrencyCode(), negativeValue.maybeAbs(fees)))); if (taxes != null && taxes.longValue() != 0) entry.getPortfolioTransaction() - .addUnit(new Unit(Unit.Type.TAX, Money.of(amount.getCurrencyCode(), Math.abs(taxes)))); + .addUnit(new Unit(Unit.Type.TAX, + Money.of(amount.getCurrencyCode(), negativeValue.maybeAbs(taxes)))); if (!grossAmount.isPresent()) createGrossValueIfNecessary(rawValues, field2column, entry.getPortfolioTransaction()); @@ -167,7 +169,7 @@ private Item createTransfer(Security security, Money amount, LocalDateTime date, var entry = new PortfolioTransferEntry(); entry.setSecurity(security); entry.setDate(date); - entry.setAmount(Math.abs(amount.getAmount())); + entry.setAmount(negativeValue.maybeAbs(amount.getAmount())); entry.setCurrencyCode(amount.getCurrencyCode()); entry.setShares(shares); entry.setNote(note); @@ -184,7 +186,7 @@ private Item createDelivery(String[] rawValues, Map field2column t.setType(type); t.setSecurity(security); t.setDateTime(date); - t.setAmount(Math.abs(amount.getAmount())); + t.setAmount(negativeValue.maybeAbs(amount.getAmount())); t.setCurrencyCode(amount.getCurrencyCode()); t.setShares(shares); t.setNote(note); @@ -193,10 +195,10 @@ private Item createDelivery(String[] rawValues, Map field2column t.addUnit(grossAmount.get()); if (fees != null && fees.longValue() != 0) - t.addUnit(new Unit(Unit.Type.FEE, Money.of(amount.getCurrencyCode(), Math.abs(fees)))); + t.addUnit(new Unit(Unit.Type.FEE, Money.of(amount.getCurrencyCode(), negativeValue.maybeAbs(fees)))); if (taxes != null && taxes.longValue() != 0) - t.addUnit(new Unit(Unit.Type.TAX, Money.of(amount.getCurrencyCode(), Math.abs(taxes)))); + t.addUnit(new Unit(Unit.Type.TAX, Money.of(amount.getCurrencyCode(), negativeValue.maybeAbs(taxes)))); if (!grossAmount.isPresent()) createGrossValueIfNecessary(rawValues, field2column, t); diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/CSVSecurityPriceExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/CSVSecurityPriceExtractor.java index 58e31b5737..50a90c9ca1 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/CSVSecurityPriceExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/CSVSecurityPriceExtractor.java @@ -20,6 +20,7 @@ /* package */ CSVSecurityPriceExtractor() { + super(); fields = new ArrayList<>(); fields.add(new DateField("date", Messages.CSVColumn_Date)); //$NON-NLS-1$ fields.add(new AmountField("quote", Messages.CSVColumn_Quote, "Schluss", "Schlusskurs", "Close")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ @@ -79,6 +80,6 @@ private SecurityPrice extract(String[] rawValues, Map field2colu if (amount == null) throw new ParseException(MessageFormat.format(Messages.CSVImportMissingField, Messages.CSVColumn_Quote), 0); - return new SecurityPrice(date.toLocalDate(), Math.abs(amount)); + return new SecurityPrice(date.toLocalDate(), negativeValue.maybeAbs(amount)); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/ibflex/IBFlexStatementExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/ibflex/IBFlexStatementExtractor.java index 882553ba9a..46eb54c9fa 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/ibflex/IBFlexStatementExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/ibflex/IBFlexStatementExtractor.java @@ -46,6 +46,7 @@ import name.abuchen.portfolio.datatransfer.Extractor; import name.abuchen.portfolio.datatransfer.ExtractorUtils; import name.abuchen.portfolio.datatransfer.SecurityCache; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Account; import name.abuchen.portfolio.model.AccountTransaction; import name.abuchen.portfolio.model.AccountTransferEntry; @@ -84,6 +85,7 @@ @SuppressWarnings("nls") public class IBFlexStatementExtractor implements Extractor { + protected NegativeValue negativeValue; // The client associated with this extractor private final Client client; @@ -1456,11 +1458,23 @@ protected String asCurrencyCode(String currency) protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "US"); } protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "en", "US"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "en", "US"); + } + + @Override + public NegativeValue getNegativeValue() + { + return negativeValue; + } + + @Override + public void setNegativeValue(NegativeValue negativeValue) + { + this.negativeValue = negativeValue; } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/AJBellSecuritiesLimitedPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/AJBellSecuritiesLimitedPDFExtractor.java index 4b86bbae92..b12baa09c1 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/AJBellSecuritiesLimitedPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/AJBellSecuritiesLimitedPDFExtractor.java @@ -140,18 +140,18 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "UK"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "UK"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "en", "UK"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "en", "UK"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "en", "UK"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "en", "UK"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/AbstractPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/AbstractPDFExtractor.java index 5752637433..dc94a33516 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/AbstractPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/AbstractPDFExtractor.java @@ -28,6 +28,7 @@ import name.abuchen.portfolio.datatransfer.SecurityCache; import name.abuchen.portfolio.datatransfer.pdf.PDFParser.DocumentType; import name.abuchen.portfolio.datatransfer.pdf.PDFParser.ParsedData; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Annotated; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.CrossEntry; @@ -57,6 +58,8 @@ public abstract class AbstractPDFExtractor implements Extractor private final NumberFormat numberFormat = NumberFormat.getInstance(Locale.GERMANY); + protected NegativeValue negativeValue; + private final Client client; private SecurityCache securityCache; @@ -73,6 +76,18 @@ public final Client getClient() return client; } + @Override + public final NegativeValue getNegativeValue() + { + return negativeValue; + } + + @Override + public final void setNegativeValue(NegativeValue negativeValue) + { + this.negativeValue = negativeValue; + } + protected final void addDocumentTyp(DocumentType type) { this.documentTypes.add(type); @@ -310,7 +325,7 @@ protected long asShares(String value) protected long asShares(String value, String language, String country) { - return ExtractorUtils.asShares(value, language, country); + return ExtractorUtils.asShares(negativeValue, value, language, country); } protected String asCurrencyCode(String currency) @@ -348,7 +363,7 @@ protected long asAmount(String value) protected long asAmount(String value, String language, String country) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, language, country); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, language, country); } protected ExtrExchangeRate asExchangeRate(Map data) diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/AlpacCapitalPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/AlpacCapitalPDFExtractor.java index 82580d9a8e..9727872f96 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/AlpacCapitalPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/AlpacCapitalPDFExtractor.java @@ -145,18 +145,18 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "US"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "en", "US"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "en", "US"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "en", "US"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ArkeaDirectBankPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ArkeaDirectBankPDFExtractor.java index 611c040256..8135589d2e 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ArkeaDirectBankPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ArkeaDirectBankPDFExtractor.java @@ -452,13 +452,13 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "fr", "FR"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "fr", "FR"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "fr", "FR"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "fr", "FR"); } /** diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/AvivaPLCPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/AvivaPLCPDFExtractor.java index 724b54296e..1c4c6d1cdc 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/AvivaPLCPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/AvivaPLCPDFExtractor.java @@ -148,12 +148,12 @@ private void addBuySellTransaction() @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "UK"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "UK"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "en", "UK"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "en", "UK"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BSDEXPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BSDEXPDFExtractor.java index 36d1d684ce..c43cb8cda0 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BSDEXPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BSDEXPDFExtractor.java @@ -227,12 +227,12 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "US"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "en", "US"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BaaderBankPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BaaderBankPDFExtractor.java index 64a98071ef..33b858f8c1 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BaaderBankPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BaaderBankPDFExtractor.java @@ -1624,7 +1624,7 @@ protected long asAmount(String value) country = "US"; } - return ExtractorUtils.convertToNumberLong(value, Values.Amount, language, country); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, language, country); } @Override @@ -1643,6 +1643,6 @@ protected BigDecimal asExchangeRate(String value) country = "US"; } - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, language, country); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, language, country); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BankSLMPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BankSLMPDFExtractor.java index 4c64eb19ff..b55187aa6f 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BankSLMPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BankSLMPDFExtractor.java @@ -287,18 +287,18 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "de", "CH"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "de", "CH"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "de", "CH"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BasellandschaftlicheKantonalbankPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BasellandschaftlicheKantonalbankPDFExtractor.java index ffe74d7f03..20342b16d5 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BasellandschaftlicheKantonalbankPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BasellandschaftlicheKantonalbankPDFExtractor.java @@ -126,12 +126,12 @@ private void addBuySellTransaction() @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "de", "CH"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "de", "CH"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BigbankPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BigbankPDFExtractor.java index 9dfd328379..4ad25cd8d8 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BigbankPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BigbankPDFExtractor.java @@ -118,6 +118,6 @@ private void addAccountStatementTransaction() @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "et", "EE"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "et", "EE"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BourseDirectPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BourseDirectPDFExtractor.java index 6b37227afa..35f525a0f2 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BourseDirectPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BourseDirectPDFExtractor.java @@ -414,12 +414,12 @@ public String toString() @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "fr", "FR"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "fr", "FR"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "fr", "FR"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "fr", "FR"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BoursoBankPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BoursoBankPDFExtractor.java index f4abacef9a..2223d9b266 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BoursoBankPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/BoursoBankPDFExtractor.java @@ -318,12 +318,12 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "fr", "FR"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "fr", "FR"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "fr", "FR"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "fr", "FR"); } } \ No newline at end of file diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/CetesDirectoPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/CetesDirectoPDFExtractor.java index 24c14409d6..342f3bb5e8 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/CetesDirectoPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/CetesDirectoPDFExtractor.java @@ -299,6 +299,6 @@ public String toString() @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "es", "MX"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "es", "MX"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/CommSecPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/CommSecPDFExtractor.java index 98af44a3e0..619af81a1d 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/CommSecPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/CommSecPDFExtractor.java @@ -179,18 +179,18 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "AU"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "AU"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "en", "AU"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "en", "AU"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "en", "AU"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "en", "AU"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ComputersharePDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ComputersharePDFExtractor.java index 6aae336b74..2281447dff 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ComputersharePDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ComputersharePDFExtractor.java @@ -149,14 +149,14 @@ private void addDepotStatementTransaction() @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, Locale.ENGLISH.getLanguage(), + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, Locale.ENGLISH.getLanguage(), Locale.ENGLISH.getCountry()); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, Locale.ENGLISH.getLanguage(), + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, Locale.ENGLISH.getLanguage(), Locale.ENGLISH.getCountry()); } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/CreditMutuelAllianceFederalePDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/CreditMutuelAllianceFederalePDFExtractor.java index 50548b93d3..97512a02ee 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/CreditMutuelAllianceFederalePDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/CreditMutuelAllianceFederalePDFExtractor.java @@ -85,12 +85,12 @@ private void addBuySellTransaction() @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "fr", "FR"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "fr", "FR"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "fr", "FR"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "fr", "FR"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/CreditSuisseAGPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/CreditSuisseAGPDFExtractor.java index 67c2164a5d..28c08c0ffc 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/CreditSuisseAGPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/CreditSuisseAGPDFExtractor.java @@ -395,18 +395,18 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "US"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "en", "US"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "en", "US"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "en", "US"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/CrowdestorPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/CrowdestorPDFExtractor.java index cbc0e01cc4..9ceb627de5 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/CrowdestorPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/CrowdestorPDFExtractor.java @@ -84,6 +84,6 @@ private void addAccountStatementTransaction() @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "US"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/DebitumInvestmentsPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/DebitumInvestmentsPDFExtractor.java index 604d19d88f..1d0ade6018 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/DebitumInvestmentsPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/DebitumInvestmentsPDFExtractor.java @@ -137,6 +137,6 @@ private void addAccountStatementTransaction() @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "US"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/DegiroPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/DegiroPDFExtractor.java index 280204ee91..70c2f49269 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/DegiroPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/DegiroPDFExtractor.java @@ -2106,7 +2106,7 @@ protected long asAmount(String value) } } - return ExtractorUtils.convertToNumberLong(value, Values.Amount, language, country); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, language, country); } @Override @@ -2134,7 +2134,7 @@ protected long asShares(String value) } } - return ExtractorUtils.convertToNumberLong(value, Values.Share, language, country); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, language, country); } @Override @@ -2162,6 +2162,6 @@ protected BigDecimal asExchangeRate(String value) } } - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, language, country); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, language, country); } } \ No newline at end of file diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ETradePDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ETradePDFExtractor.java index ad4b3f1b30..f137c729d5 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ETradePDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ETradePDFExtractor.java @@ -96,12 +96,12 @@ private void addBuySellTransaction() @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "US"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "en", "US"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ErsteBankPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ErsteBankPDFExtractor.java index 317c1bacb1..bd9c126021 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ErsteBankPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ErsteBankPDFExtractor.java @@ -1313,7 +1313,7 @@ protected long asAmount(String value) country = "US"; } - return ExtractorUtils.convertToNumberLong(value, Values.Amount, language, country); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, language, country); } @Override @@ -1332,7 +1332,7 @@ protected long asShares(String value) country = "US"; } - return ExtractorUtils.convertToNumberLong(value, Values.Share, language, country); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, language, country); } @Override @@ -1351,6 +1351,6 @@ protected BigDecimal asExchangeRate(String value) country = "US"; } - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, language, country); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, language, country); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/EstateGuruPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/EstateGuruPDFExtractor.java index cbee7aeaa3..78b13545c0 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/EstateGuruPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/EstateGuruPDFExtractor.java @@ -227,6 +227,6 @@ protected long asAmount(String value) country = "US"; } - return ExtractorUtils.convertToNumberLong(value, Values.Amount, language, country); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, language, country); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/FidelityInternationalPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/FidelityInternationalPDFExtractor.java index 3a3eeab1bb..8dc2046f3f 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/FidelityInternationalPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/FidelityInternationalPDFExtractor.java @@ -310,12 +310,12 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "US"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "en", "US"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/FinTechGroupBankPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/FinTechGroupBankPDFExtractor.java index 9873708fbb..f268bf5278 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/FinTechGroupBankPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/FinTechGroupBankPDFExtractor.java @@ -3988,7 +3988,7 @@ protected long asAmount(String value) country = "US"; } - return ExtractorUtils.convertToNumberLong(value, Values.Amount, language, country); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, language, country); } @Override @@ -4007,6 +4007,6 @@ protected long asShares(String value) country = "US"; } - return ExtractorUtils.convertToNumberLong(value, Values.Share, language, country); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, language, country); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/FindependentAGPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/FindependentAGPDFExtractor.java index 3db8ef0e5d..f548562d50 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/FindependentAGPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/FindependentAGPDFExtractor.java @@ -315,18 +315,18 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "de", "CH"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "de", "CH"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "de", "CH"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/FirstradeSecuritiesIncPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/FirstradeSecuritiesIncPDFExtractor.java index 1296d46f6d..7adb8d1ca1 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/FirstradeSecuritiesIncPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/FirstradeSecuritiesIncPDFExtractor.java @@ -145,12 +145,12 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "US"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "en", "US"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/GinmonPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/GinmonPDFExtractor.java index 42f5a39a1c..152eeb505a 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/GinmonPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/GinmonPDFExtractor.java @@ -92,6 +92,6 @@ private void addNonImportableTransaction() @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "US"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/HargreavesLansdownPlcExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/HargreavesLansdownPlcExtractor.java index 6ed1ba39c7..bc2d26bf74 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/HargreavesLansdownPlcExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/HargreavesLansdownPlcExtractor.java @@ -160,12 +160,12 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "UK"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "UK"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "en", "UK"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "en", "UK"); } } \ No newline at end of file diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/HypothekarbankLenzburgAGPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/HypothekarbankLenzburgAGPDFExtractor.java index dbdb0e9c54..2f212c8e40 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/HypothekarbankLenzburgAGPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/HypothekarbankLenzburgAGPDFExtractor.java @@ -482,18 +482,18 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "de", "CH"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "de", "CH"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "de", "CH"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/KFintechPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/KFintechPDFExtractor.java index 256a1b5103..f146a80947 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/KFintechPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/KFintechPDFExtractor.java @@ -395,13 +395,13 @@ protected Security getOrCreateSecurity(Map values) @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "IN"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "IN"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "en", "IN"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "en", "IN"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/KeytradeBankPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/KeytradeBankPDFExtractor.java index f6cc317fed..26193b30de 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/KeytradeBankPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/KeytradeBankPDFExtractor.java @@ -522,7 +522,7 @@ protected long asAmount(String value) country = "US"; } - return ExtractorUtils.convertToNumberLong(value, Values.Amount, language, country); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, language, country); } @Override @@ -541,7 +541,7 @@ protected long asShares(String value) country = "US"; } - return ExtractorUtils.convertToNumberLong(value, Values.Share, language, country); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, language, country); } @Override @@ -560,6 +560,6 @@ protected BigDecimal asExchangeRate(String value) country = "US"; } - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, language, country); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, language, country); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/LGTBankPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/LGTBankPDFExtractor.java index 7b6ba1320c..7054c61791 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/LGTBankPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/LGTBankPDFExtractor.java @@ -298,18 +298,18 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "de", "CH"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "de", "CH"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "de", "CH"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/LiechtensteinischeLandesbankAGPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/LiechtensteinischeLandesbankAGPDFExtractor.java index eeafdd536b..234caa410e 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/LiechtensteinischeLandesbankAGPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/LiechtensteinischeLandesbankAGPDFExtractor.java @@ -352,18 +352,18 @@ private > void addTaxesSectionsTransaction(T transactio @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "de", "CH"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "de", "CH"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "de", "CH"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/LimeTradingCorpPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/LimeTradingCorpPDFExtractor.java index a49ae13ed6..7859db2386 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/LimeTradingCorpPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/LimeTradingCorpPDFExtractor.java @@ -471,18 +471,18 @@ private void addAccountStatementTransaction() @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "US"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "en", "US"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "en", "US"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "en", "US"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/MeDirectBankPlcPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/MeDirectBankPlcPDFExtractor.java index 17178142da..cba92ba79b 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/MeDirectBankPlcPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/MeDirectBankPlcPDFExtractor.java @@ -128,6 +128,6 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "en", "US"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ModenaEstoniaPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ModenaEstoniaPDFExtractor.java index 01368f339e..7e41842cc7 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ModenaEstoniaPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ModenaEstoniaPDFExtractor.java @@ -116,6 +116,6 @@ private void addAccountStatementTransaction() @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "US"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/PDFImportAssistant.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/PDFImportAssistant.java index c743d9cfe3..fd613175b4 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/PDFImportAssistant.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/PDFImportAssistant.java @@ -16,6 +16,7 @@ import name.abuchen.portfolio.datatransfer.Extractor; import name.abuchen.portfolio.datatransfer.Extractor.Item; import name.abuchen.portfolio.datatransfer.SecurityCache; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.Client; public class PDFImportAssistant @@ -24,7 +25,7 @@ public class PDFImportAssistant private final List files; private final List extractors = new ArrayList<>(); - public PDFImportAssistant(Client client, List files) + public PDFImportAssistant(NegativeValue negativeValue, Client client, List files) { this.client = client; this.files = files; @@ -152,6 +153,11 @@ public PDFImportAssistant(Client client, List files) extractors.add(new WitheBoxGmbHPDFExtractor(client)); extractors.add(new WeberbankPDFExtractor(client)); extractors.add(new ZuercherKantonalbankPDFExtractor(client)); + + for (Extractor e : extractors) + { + e.setNegativeValue(negativeValue); + } } public Map> run(IProgressMonitor monitor, Map> errors) diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/PictetCieGruppeSAPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/PictetCieGruppeSAPDFExtractor.java index fb18ebb955..c04ca955b7 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/PictetCieGruppeSAPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/PictetCieGruppeSAPDFExtractor.java @@ -261,18 +261,18 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "de", "CH"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "de", "CH"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "de", "CH"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/PostfinancePDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/PostfinancePDFExtractor.java index d5adc58b40..a8843cefce 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/PostfinancePDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/PostfinancePDFExtractor.java @@ -1203,18 +1203,18 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "de", "CH"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "de", "CH"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "de", "CH"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/QuestradeGroupPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/QuestradeGroupPDFExtractor.java index c867883a94..6aa7de1a59 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/QuestradeGroupPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/QuestradeGroupPDFExtractor.java @@ -274,12 +274,12 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "CA"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "CA"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "en", "CA"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "en", "CA"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/RaiffeisenBankgruppePDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/RaiffeisenBankgruppePDFExtractor.java index 3561f5377b..6ab3f56a05 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/RaiffeisenBankgruppePDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/RaiffeisenBankgruppePDFExtractor.java @@ -1403,7 +1403,7 @@ protected long asAmount(String value) } } - return ExtractorUtils.convertToNumberLong(value, Values.Amount, language, country); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, language, country); } @Override @@ -1431,7 +1431,7 @@ protected BigDecimal asExchangeRate(String value) } } - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, language, country); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, language, country); } /** diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/RevolutLtdPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/RevolutLtdPDFExtractor.java index fe027d985e..d32bebe5ee 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/RevolutLtdPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/RevolutLtdPDFExtractor.java @@ -163,12 +163,12 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "UK"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "UK"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "en", "UK"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "en", "UK"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SaxoBankPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SaxoBankPDFExtractor.java index c5616f22a9..466f9c0d63 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SaxoBankPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SaxoBankPDFExtractor.java @@ -744,7 +744,7 @@ protected long asAmount(String value) } } - return ExtractorUtils.convertToNumberLong(value, Values.Amount, language, country); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, language, country); } @Override @@ -772,7 +772,7 @@ protected long asShares(String value) } } - return ExtractorUtils.convertToNumberLong(value, Values.Share, language, country); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, language, country); } @Override @@ -800,6 +800,6 @@ protected BigDecimal asExchangeRate(String value) } } - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, language, country); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, language, country); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ScalableCapitalPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ScalableCapitalPDFExtractor.java index 329bb23d66..e2da6087d3 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ScalableCapitalPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ScalableCapitalPDFExtractor.java @@ -897,7 +897,7 @@ protected long asAmount(String value) country = "US"; } - return ExtractorUtils.convertToNumberLong(value, Values.Amount, language, country); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, language, country); } @Override @@ -916,6 +916,6 @@ protected long asShares(String value) country = "US"; } - return ExtractorUtils.convertToNumberLong(value, Values.Share, language, country); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, language, country); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ScorePriorityIncPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ScorePriorityIncPDFExtractor.java index 7b956d0dfc..9bed95b133 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ScorePriorityIncPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ScorePriorityIncPDFExtractor.java @@ -343,18 +343,18 @@ private void addAccountStatementTransaction() @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "US"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "en", "US"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "en", "US"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "en", "US"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SelfWealthPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SelfWealthPDFExtractor.java index f357714289..dc3cfadff6 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SelfWealthPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SelfWealthPDFExtractor.java @@ -138,12 +138,12 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "AU"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "AU"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "en", "AU"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "en", "AU"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SimpelPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SimpelPDFExtractor.java index 325f650473..23383f1506 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SimpelPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SimpelPDFExtractor.java @@ -225,12 +225,12 @@ private > void addTaxesSectionsTransaction(T transactio @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "de", "CH"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "de", "CH"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SolarisbankAGPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SolarisbankAGPDFExtractor.java index 0e196d3c93..0ab93b8c0d 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SolarisbankAGPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SolarisbankAGPDFExtractor.java @@ -142,6 +142,6 @@ protected long asAmount(String value) country = "US"; } - return ExtractorUtils.convertToNumberLong(value, Values.Amount, language, country); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, language, country); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/StakeshopPtyLtdPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/StakeshopPtyLtdPDFExtractor.java index fd0f4931a7..f4d0441979 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/StakeshopPtyLtdPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/StakeshopPtyLtdPDFExtractor.java @@ -128,12 +128,12 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "AU"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "AU"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "en", "AU"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "en", "AU"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SunrisePDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SunrisePDFExtractor.java index bef76c8210..7ad79f1111 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SunrisePDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SunrisePDFExtractor.java @@ -322,18 +322,18 @@ private > void addTaxesSectionsTransaction(T transactio @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "de", "CH"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "de", "CH"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "de", "CH"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SwissquotePDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SwissquotePDFExtractor.java index eab38726aa..0994111378 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SwissquotePDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/SwissquotePDFExtractor.java @@ -826,18 +826,18 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "de", "CH"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "de", "CH"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "de", "CH"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/TigerBrokersPteLtdPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/TigerBrokersPteLtdPDFExtractor.java index ac3c777709..e63b5f6215 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/TigerBrokersPteLtdPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/TigerBrokersPteLtdPDFExtractor.java @@ -1042,18 +1042,18 @@ public Optional findItem(String tickerSymbol, Loca @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "US"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "en", "US"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "en", "US"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "en", "US"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "en", "US"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/TradeRepublicPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/TradeRepublicPDFExtractor.java index a95b0c8046..c2d920aad6 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/TradeRepublicPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/TradeRepublicPDFExtractor.java @@ -5218,7 +5218,7 @@ protected long asAmount(String value) country = "US"; } - return ExtractorUtils.convertToNumberLong(value, Values.Amount, language, country); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, language, country); } @Override @@ -5237,6 +5237,6 @@ protected BigDecimal asExchangeRate(String value) country = "US"; } - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, language, country); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, language, country); } } \ No newline at end of file diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/UBSAGBankingAGPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/UBSAGBankingAGPDFExtractor.java index a115fbb35f..372df5ee76 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/UBSAGBankingAGPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/UBSAGBankingAGPDFExtractor.java @@ -602,18 +602,18 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "de", "CH"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "de", "CH"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "de", "CH"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/UnicreditPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/UnicreditPDFExtractor.java index fb2c1fef26..b5e4977241 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/UnicreditPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/UnicreditPDFExtractor.java @@ -311,6 +311,6 @@ private > void addFeesSectionsTransaction(T transaction @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "de", "CH"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/VZVermoegenszentrumAGPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/VZVermoegenszentrumAGPDFExtractor.java index fda498e9c4..82e5786a58 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/VZVermoegenszentrumAGPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/VZVermoegenszentrumAGPDFExtractor.java @@ -250,18 +250,18 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "de", "CH"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "de", "CH"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "de", "CH"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/WealthsimpleInvestmentsIncPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/WealthsimpleInvestmentsIncPDFExtractor.java index bdee3f0835..d0ffad7156 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/WealthsimpleInvestmentsIncPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/WealthsimpleInvestmentsIncPDFExtractor.java @@ -620,18 +620,18 @@ public String toString() @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "en", "CA"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "en", "CA"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "en", "CA"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "en", "CA"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "en", "CA"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "en", "CA"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/WirBankPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/WirBankPDFExtractor.java index 738ac18d46..6d14253b64 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/WirBankPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/WirBankPDFExtractor.java @@ -446,18 +446,18 @@ private > void addTaxesSectionsTransaction(T transactio @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "de", "CH"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "de", "CH"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "de", "CH"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ZuercherKantonalbankPDFExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ZuercherKantonalbankPDFExtractor.java index 1c6de8220e..fe01ceab80 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ZuercherKantonalbankPDFExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/pdf/ZuercherKantonalbankPDFExtractor.java @@ -508,18 +508,18 @@ private > void addFeesSectionsTransaction(T transaction @Override protected long asAmount(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Amount, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Amount, "de", "CH"); } @Override protected long asShares(String value) { - return ExtractorUtils.convertToNumberLong(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberLong(negativeValue, value, Values.Share, "de", "CH"); } @Override protected BigDecimal asExchangeRate(String value) { - return ExtractorUtils.convertToNumberBigDecimal(value, Values.Share, "de", "CH"); + return ExtractorUtils.convertToNumberBigDecimal(negativeValue, value, Values.Share, "de", "CH"); } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/math/NegativeValue.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/math/NegativeValue.java new file mode 100644 index 0000000000..ca2b449bda --- /dev/null +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/math/NegativeValue.java @@ -0,0 +1,50 @@ +package name.abuchen.portfolio.math; + +import jakarta.inject.Singleton; + +import org.eclipse.e4.core.di.annotations.Creatable; + +/** + * Central singleton for relaxing the restriction of providing positive values + * for the most input and CSV fields. + *

+ * This singleton is needed to make this feature _configurable_, i.e. it would + * be much simpler if relaxed restriction would be the default. + *

+ * Also see https://github.com/portfolio-performance/portfolio/pull/5376 + */ +@Singleton +@Creatable +public class NegativeValue +{ + private boolean negativeValueAllowed = false; + + public boolean isNegativeValueAllowed() + { + return negativeValueAllowed; + } + + public void setNegativeValueAllowed(boolean value) + { + negativeValueAllowed = value; + } + + public double maybeAbs(double value) + { + if (negativeValueAllowed) + { + return value; + } + return Math.abs(value); + } + + public long maybeAbs(long value) + { + if (negativeValueAllowed) + { + return value; + } + return Math.abs(value); + } + +} diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/model/ClientFactory.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/model/ClientFactory.java index f511f8c73d..f16139494a 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/model/ClientFactory.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/model/ClientFactory.java @@ -74,6 +74,7 @@ import name.abuchen.portfolio.Messages; import name.abuchen.portfolio.PortfolioLog; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AttributeType.ImageConverter; import name.abuchen.portfolio.model.Classification.Assignment; import name.abuchen.portfolio.model.PortfolioTransaction.Type; @@ -118,10 +119,12 @@ protected boolean shouldUnmarshalField(Field field) /* package */ static class XmlSerialization { + private NegativeValue negativeValue; private boolean idReferences; - public XmlSerialization(boolean idReferences) + public XmlSerialization(NegativeValue negativeValue, boolean idReferences) { + this.negativeValue = negativeValue; this.idReferences = idReferences; } @@ -145,7 +148,7 @@ public Client load(Reader input) throws IOException throw new IOException(MessageFormat.format(Messages.MsgUnsupportedVersionClientFiled, client.getVersion())); - upgradeModel(client); + upgradeModel(negativeValue, client); return client; } @@ -170,26 +173,30 @@ interface ClientPersister Client load(InputStream input) throws IOException; void save(Client client, OutputStream output) throws IOException; + + NegativeValue getNegativeValue(); } private static class PlainWriter implements ClientPersister { + private NegativeValue negativeValue; boolean idReferences; - public PlainWriter(boolean idReferences) + public PlainWriter(NegativeValue negativeValue, boolean idReferences) { + this.negativeValue = negativeValue; this.idReferences = idReferences; } - public PlainWriter() + public PlainWriter(NegativeValue negativeValue) { - this(false); + this(negativeValue, false); } @Override public Client load(InputStream input) throws IOException { - Client client = new XmlSerialization(idReferences) + Client client = new XmlSerialization(negativeValue, idReferences) .load(new InputStreamReader(input, StandardCharsets.UTF_8)); client.getSaveFlags().add(SaveFlag.XML); if (idReferences) @@ -202,7 +209,13 @@ public Client load(InputStream input) throws IOException @Override public void save(Client client, OutputStream output) throws IOException { - new XmlSerialization(idReferences).save(client, output); + new XmlSerialization(negativeValue, idReferences).save(client, output); + } + + @Override + public NegativeValue getNegativeValue() + { + return negativeValue; } } @@ -214,13 +227,24 @@ private static class PlainWriterZIP implements ClientPersister */ private static final byte[] SIGNATURE = { 80, 75, 3, 4 }; + private NegativeValue negativeValue; private ClientPersister body; public PlainWriterZIP(ClientPersister body) { + if (body == null) + { + throw new NullPointerException("Use alternative constructor"); //$NON-NLS-1$ + } + this.negativeValue = body.getNegativeValue(); this.body = body; } + public PlainWriterZIP(NegativeValue negativeValue) + { + this.negativeValue = negativeValue; + } + @Override public Client load(InputStream input) throws IOException { @@ -232,9 +256,9 @@ public Client load(InputStream input) throws IOException if (body == null) { if (entry.getName().endsWith(".portfolio")) //$NON-NLS-1$ - body = new ProtobufWriter(); + body = new ProtobufWriter(negativeValue); else - body = new PlainWriter(); + body = new PlainWriter(negativeValue); } Client client = body.load(zipin); @@ -258,6 +282,12 @@ public void save(Client client, OutputStream output) throws IOException zipout.closeEntry(); } } + + @Override + public NegativeValue getNegativeValue() + { + return negativeValue; + } } /** @@ -291,17 +321,30 @@ private static class Decryptor implements ClientPersister private static final int AES128_KEYLENGTH = 128; private static final int AES256_KEYLENGTH = 256; + private NegativeValue negativeValue; private ClientPersister body; private char[] password; private int keyLength; public Decryptor(ClientPersister body, Set flags, char[] password) { + if (body == null) + { + throw new NullPointerException("Use alternative constructor"); //$NON-NLS-1$ + } + this.negativeValue = body.getNegativeValue(); this.body = body; this.password = password; this.keyLength = flags.contains(SaveFlag.AES256) ? AES256_KEYLENGTH : AES128_KEYLENGTH; } + public Decryptor(NegativeValue negativeValue, Set flags, char[] password) + { + this.negativeValue = negativeValue; + this.password = password; + this.keyLength = flags.contains(SaveFlag.AES256) ? AES256_KEYLENGTH : AES128_KEYLENGTH; + } + @Override public Client load(final InputStream input) throws IOException { @@ -360,9 +403,9 @@ public Client load(final InputStream input) throws IOException if (body == null) { if (contentType == 2) - body = new ProtobufWriter(); + body = new ProtobufWriter(getNegativeValue()); else - body = new PlainWriter(); + body = new PlainWriter(getNegativeValue()); } // wrap with zip input stream @@ -472,6 +515,12 @@ private SecretKey buildSecretKey() throws NoSuchAlgorithmException, InvalidKeySp SecretKey tmp = factory.generateSecret(spec); return new SecretKeySpec(tmp.getEncoded(), AES); } + + @Override + public NegativeValue getNegativeValue() + { + return negativeValue; + } } private static XStream xstreamReader; @@ -594,7 +643,8 @@ public static boolean isKeyLengthSupported(int keyLength) } } - public static Client load(File file, char[] password, IProgressMonitor monitor) throws IOException + public static Client load(NegativeValue negativeValue, File file, char[] password, IProgressMonitor monitor) + throws IOException { Set flags = getFlags(file); @@ -612,7 +662,7 @@ public static Client load(File file, char[] password, IProgressMonitor monitor) try (InputStream input = new ProgressMonitorInputStream( new BufferedInputStream(new FileInputStream(file), 65536), increment, monitor)) { - ClientPersister persister = buildPersister(flags, password); + ClientPersister persister = buildPersister(negativeValue, flags, password); Client client = persister.load(input); PortfolioLog.info(String.format("Loaded %s with %s", file.getName(), client.getSaveFlags().toString())); //$NON-NLS-1$ @@ -629,17 +679,17 @@ public static Client load(File file, char[] password, IProgressMonitor monitor) } } - public static Client load(Reader input) throws IOException + public static Client load(NegativeValue negativeValue, Reader input) throws IOException { - return load(input, false); + return load(negativeValue, input, false); } @VisibleForTesting - public static Client load(Reader input, boolean useIdReferences) throws IOException + public static Client load(NegativeValue negativeValue, Reader input, boolean useIdReferences) throws IOException { try { - return new XmlSerialization(useIdReferences).load(input); + return new XmlSerialization(negativeValue, useIdReferences).load(input); } finally { @@ -649,18 +699,19 @@ public static Client load(Reader input, boolean useIdReferences) throws IOExcept } @VisibleForTesting - public static Client load(InputStream input) throws IOException + public static Client load(NegativeValue negativeValue, InputStream input) throws IOException { - return load(input, false); + return load(negativeValue, input, false); } @VisibleForTesting - public static Client load(InputStream input, boolean useIdReferences) throws IOException + public static Client load(NegativeValue negativeValue, InputStream input, boolean useIdReferences) + throws IOException { - return load(new InputStreamReader(input, StandardCharsets.UTF_8), useIdReferences); + return load(negativeValue, new InputStreamReader(input, StandardCharsets.UTF_8), useIdReferences); } - public static void save(final Client client, final File file) throws IOException + public static void save(NegativeValue negativeValue, final Client client, final File file) throws IOException { Set flags = EnumSet.copyOf(client.getSaveFlags()); @@ -670,10 +721,11 @@ public static void save(final Client client, final File file) throws IOException if (flags.contains(SaveFlag.ENCRYPTED) && client.getSecret() == null) throw new IOException(Messages.MsgPasswordMissing); - writeFile(client, file, null, flags, true); + writeFile(negativeValue, client, file, null, flags, true); } - public static void saveAs(final Client client, final File file, char[] password, Set flags) + public static void saveAs(NegativeValue negativeValue, final Client client, final File file, char[] password, + Set flags) throws IOException { if (flags.isEmpty()) @@ -682,10 +734,11 @@ public static void saveAs(final Client client, final File file, char[] password, if (flags.contains(SaveFlag.ENCRYPTED) && password == null) throw new IOException(Messages.MsgPasswordMissing); - writeFile(client, file, password, flags, true); + writeFile(negativeValue, client, file, password, flags, true); } - public static void exportAs(final Client client, final File file, char[] password, Set flags) + public static void exportAs(NegativeValue negativeValue, final Client client, final File file, char[] password, + Set flags) throws IOException { if (flags.isEmpty()) @@ -694,10 +747,11 @@ public static void exportAs(final Client client, final File file, char[] passwor if (flags.contains(SaveFlag.ENCRYPTED) && password == null) throw new IOException(Messages.MsgPasswordMissing); - writeFile(client, file, password, flags, false); + writeFile(negativeValue, client, file, password, flags, false); } - private static void writeFile(final Client client, final File file, char[] password, Set flags, + private static void writeFile(NegativeValue negativeValue, final Client client, final File file, char[] password, + Set flags, boolean updateFlags) throws IOException { PortfolioLog.info(String.format("Saving %s with %s", file.getName(), flags.toString())); //$NON-NLS-1$ @@ -729,7 +783,7 @@ private static void writeFile(final Client client, final File file, char[] passw file.getAbsolutePath(), e.getMessage())); } - ClientPersister persister = buildPersister(flags, password); + ClientPersister persister = buildPersister(negativeValue, flags, password); persister.save(client, output); output.flush(); @@ -745,27 +799,37 @@ private static void writeFile(final Client client, final File file, char[] passw } } - private static ClientPersister buildPersister(Set flags, char[] password) + private static ClientPersister buildPersister(NegativeValue negativeValue, Set flags, char[] password) { ClientPersister body = null; if (flags.contains(SaveFlag.BINARY)) - body = new ProtobufWriter(); + body = new ProtobufWriter(negativeValue); else if (flags.contains(SaveFlag.XML)) - body = new PlainWriter(flags.contains(SaveFlag.ID_REFERENCES)); + body = new PlainWriter(negativeValue, flags.contains(SaveFlag.ID_REFERENCES)); if (flags.contains(SaveFlag.ENCRYPTED)) - return new Decryptor(body, flags, password); + { + if (body != null) + return new Decryptor(body, flags, password); + else + return new Decryptor(negativeValue, flags, password); + } else if (flags.contains(SaveFlag.COMPRESSED)) - return new PlainWriterZIP(body); + { + if (body != null) + return new PlainWriterZIP(body); + else + return new PlainWriterZIP(negativeValue); + } if (body == null) - return new PlainWriter(); + return new PlainWriter(negativeValue); else return body; } - /* package */ static void upgradeModel(Client client) + /* package */ static void upgradeModel(NegativeValue negativeValue, Client client) { client.doPostLoadInitialization(); @@ -929,7 +993,7 @@ else if (flags.contains(SaveFlag.COMPRESSED)) case 59: // NOSONAR fixNullSecurityProperties(client); case 60: // NOSONAR - addInvestmentPlanTypes(client); + addInvestmentPlanTypes(negativeValue, client); case 61: // NOSONAR removePortfolioReportMarketProperties(client); case 62: // NOSONAR @@ -1699,7 +1763,7 @@ private static void fixNullSecurityEvents(Client client) } } - private static void addInvestmentPlanTypes(Client client) + private static void addInvestmentPlanTypes(NegativeValue negativeValue, Client client) { for (InvestmentPlan plan : client.getPlans()) { @@ -1710,7 +1774,7 @@ private static void addInvestmentPlanTypes(Client client) else { plan.setType(plan.getAmount() >= 0 ? InvestmentPlan.Type.DEPOSIT : InvestmentPlan.Type.REMOVAL); - plan.setAmount(Math.abs(plan.getAmount())); + plan.setAmount(negativeValue.maybeAbs(plan.getAmount())); } } } diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/model/ProtobufWriter.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/model/ProtobufWriter.java index 1cd3a579b2..1a1fe682b4 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/model/ProtobufWriter.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/model/ProtobufWriter.java @@ -25,6 +25,7 @@ import name.abuchen.portfolio.Messages; import name.abuchen.portfolio.PortfolioLog; +import name.abuchen.portfolio.math.NegativeValue; import name.abuchen.portfolio.model.AttributeType.Converter; import name.abuchen.portfolio.model.Classification.Assignment; import name.abuchen.portfolio.model.ClientFactory.ClientPersister; @@ -96,6 +97,13 @@ void add(Account account) private static final byte[] SIGNATURE = new byte[] { 'P', 'P', 'P', 'B', 'V', '1' }; + private NegativeValue negativeValue; + + public ProtobufWriter(NegativeValue negativeValue) + { + this.negativeValue = negativeValue; + } + @Override public Client load(InputStream input) throws IOException { @@ -137,7 +145,7 @@ public Client load(InputStream input) throws IOException client.getSaveFlags().add(SaveFlag.BINARY); - ClientFactory.upgradeModel(client); + ClientFactory.upgradeModel(negativeValue, client); return client; } @@ -1424,4 +1432,10 @@ private void saveExtensions(Client client, PClient.Builder newClient) PortfolioLog.info("Saved extension: " + typeUrl); //$NON-NLS-1$ } } + + @Override + public NegativeValue getNegativeValue() + { + return negativeValue; + } } diff --git a/portfolio-app/.project b/portfolio-app/.project index e7205dc48a..189ef16136 100644 --- a/portfolio-app/.project +++ b/portfolio-app/.project @@ -3,6 +3,15 @@ portfolio-app + name.abuchen.portfolio + name.abuchen.portfolio.bootstrap + name.abuchen.portfolio.feature + name.abuchen.portfolio.pdfbox1 + name.abuchen.portfolio.pdfbox3 + name.abuchen.portfolio.ui + portfolio + portfolio-product + portfolio-target-definition