|
6 | 6 | import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasAmount; |
7 | 7 | import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasCurrencyCode; |
8 | 8 | import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasDate; |
| 9 | +import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasExDate; |
9 | 10 | import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasFees; |
10 | 11 | import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasForexGrossValue; |
11 | 12 | import static name.abuchen.portfolio.datatransfer.ExtractorMatchers.hasGrossValue; |
@@ -1539,6 +1540,7 @@ public void testDividende02() |
1539 | 1540 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
1540 | 1541 |
|
1541 | 1542 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2016-04-07T00:00"))); |
| 1543 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2016-04-07T00:00"))); |
1542 | 1544 | assertThat(transaction.getShares(), is(Values.Share.factorize(30))); |
1543 | 1545 | assertThat(transaction.getSource(), is("Dividende02.txt")); |
1544 | 1546 | assertThat(transaction.getNote(), is("Abrechnungsnr. 59717175720")); |
@@ -1584,6 +1586,7 @@ public void testDividende03() |
1584 | 1586 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
1585 | 1587 |
|
1586 | 1588 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2017-12-07T00:00"))); |
| 1589 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2017-11-30T00:00"))); |
1587 | 1590 | assertThat(transaction.getShares(), is(Values.Share.factorize(216))); |
1588 | 1591 | assertThat(transaction.getSource(), is("Dividende03.txt")); |
1589 | 1592 | assertThat(transaction.getNote(), is("Abrechnungsnr. 84033925310")); |
@@ -1630,6 +1633,7 @@ public void testDividende04() |
1630 | 1633 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
1631 | 1634 |
|
1632 | 1635 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2018-05-15T00:00"))); |
| 1636 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2018-05-08T00:00"))); |
1633 | 1637 | assertThat(transaction.getShares(), is(Values.Share.factorize(1))); |
1634 | 1638 | assertThat(transaction.getSource(), is("Dividende04.txt")); |
1635 | 1639 | assertThat(transaction.getNote(), is("Abrechnungsnr. 63136911234")); |
@@ -1676,6 +1680,7 @@ public void testDividende04WithSecurityInEUR() |
1676 | 1680 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
1677 | 1681 |
|
1678 | 1682 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2018-05-15T00:00"))); |
| 1683 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2018-05-08T00:00"))); |
1679 | 1684 | assertThat(transaction.getShares(), is(Values.Share.factorize(1))); |
1680 | 1685 | assertThat(transaction.getSource(), is("Dividende04.txt")); |
1681 | 1686 | assertThat(transaction.getNote(), is("Abrechnungsnr. 63136911234")); |
@@ -1727,6 +1732,7 @@ public void testDividende05() |
1727 | 1732 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
1728 | 1733 |
|
1729 | 1734 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2018-06-01T00:00"))); |
| 1735 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2018-05-12T00:00"))); |
1730 | 1736 | assertThat(transaction.getShares(), is(Values.Share.factorize(10))); |
1731 | 1737 | assertThat(transaction.getSource(), is("Dividende05.txt")); |
1732 | 1738 | assertThat(transaction.getNote(), is("Abrechnungsnr. 12345678901")); |
@@ -1772,6 +1778,7 @@ public void testDividende06() |
1772 | 1778 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
1773 | 1779 |
|
1774 | 1780 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2019-01-11T00:00"))); |
| 1781 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2018-12-27T00:00"))); |
1775 | 1782 | assertThat(transaction.getShares(), is(Values.Share.factorize(16.3517))); |
1776 | 1783 | assertThat(transaction.getSource(), is("Dividende06.txt")); |
1777 | 1784 | assertThat(transaction.getNote(), is("Abrechnungsnr. 11111")); |
@@ -1818,6 +1825,7 @@ public void testDividende06WithSecurityInEUR() |
1818 | 1825 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
1819 | 1826 |
|
1820 | 1827 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2019-01-11T00:00"))); |
| 1828 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2018-12-27T00:00"))); |
1821 | 1829 | assertThat(transaction.getShares(), is(Values.Share.factorize(16.3517))); |
1822 | 1830 | assertThat(transaction.getSource(), is("Dividende06.txt")); |
1823 | 1831 | assertThat(transaction.getNote(), is("Abrechnungsnr. 11111")); |
@@ -1914,6 +1922,7 @@ public void testDividende08() |
1914 | 1922 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
1915 | 1923 |
|
1916 | 1924 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2019-05-20T00:00"))); |
| 1925 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2019-05-16T00:00"))); |
1917 | 1926 | assertThat(transaction.getShares(), is(Values.Share.factorize(92))); |
1918 | 1927 | assertThat(transaction.getSource(), is("Dividende08.txt")); |
1919 | 1928 | assertThat(transaction.getNote(), is("Abrechnungsnr. 63736123456")); |
@@ -1959,6 +1968,7 @@ public void testDividende09() |
1959 | 1968 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
1960 | 1969 |
|
1961 | 1970 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2015-02-23T00:00"))); |
| 1971 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2015-01-29T00:00"))); |
1962 | 1972 | assertThat(transaction.getShares(), is(Values.Share.factorize(53))); |
1963 | 1973 | assertThat(transaction.getSource(), is("Dividende09.txt")); |
1964 | 1974 | assertThat(transaction.getNote(), is("Abrechnungsnr. 8127381273")); |
@@ -2005,6 +2015,7 @@ public void testDividende09WithSecurityInEUR() |
2005 | 2015 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
2006 | 2016 |
|
2007 | 2017 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2015-02-23T00:00"))); |
| 2018 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2015-01-29T00:00"))); |
2008 | 2019 | assertThat(transaction.getShares(), is(Values.Share.factorize(53))); |
2009 | 2020 | assertThat(transaction.getSource(), is("Dividende09.txt")); |
2010 | 2021 | assertThat(transaction.getNote(), is("Abrechnungsnr. 8127381273")); |
@@ -2056,6 +2067,7 @@ public void testDividende10() |
2056 | 2067 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
2057 | 2068 |
|
2058 | 2069 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2017-10-04T00:00"))); |
| 2070 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2017-09-18T00:00"))); |
2059 | 2071 | assertThat(transaction.getShares(), is(Values.Share.factorize(10.6841))); |
2060 | 2072 | assertThat(transaction.getSource(), is("Dividende10.txt")); |
2061 | 2073 | assertThat(transaction.getNote(), is("Abrechnungsnr. 123456789")); |
@@ -2102,6 +2114,7 @@ public void testDividende10WithSecurityInEUR() |
2102 | 2114 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
2103 | 2115 |
|
2104 | 2116 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2017-10-04T00:00"))); |
| 2117 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2017-09-18T00:00"))); |
2105 | 2118 | assertThat(transaction.getShares(), is(Values.Share.factorize(10.6841))); |
2106 | 2119 | assertThat(transaction.getSource(), is("Dividende10.txt")); |
2107 | 2120 | assertThat(transaction.getNote(), is("Abrechnungsnr. 123456789")); |
@@ -2153,6 +2166,7 @@ public void testDividende11() |
2153 | 2166 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
2154 | 2167 |
|
2155 | 2168 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2017-02-20T00:00"))); |
| 2169 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2017-02-09T00:00"))); |
2156 | 2170 | assertThat(transaction.getShares(), is(Values.Share.factorize(66))); |
2157 | 2171 | assertThat(transaction.getNote(), is("Abrechnungsnr. 123456789 | Quartalsdividende")); |
2158 | 2172 | assertThat(transaction.getSource(), is("Dividende11.txt")); |
@@ -2199,6 +2213,7 @@ public void testDividende11WithSecurityInEUR() |
2199 | 2213 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
2200 | 2214 |
|
2201 | 2215 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2017-02-20T00:00"))); |
| 2216 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2017-02-09T00:00"))); |
2202 | 2217 | assertThat(transaction.getShares(), is(Values.Share.factorize(66))); |
2203 | 2218 | assertThat(transaction.getNote(), is("Abrechnungsnr. 123456789 | Quartalsdividende")); |
2204 | 2219 | assertThat(transaction.getSource(), is("Dividende11.txt")); |
@@ -2250,6 +2265,7 @@ public void testDividende12() |
2250 | 2265 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
2251 | 2266 |
|
2252 | 2267 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2019-07-01T00:00"))); |
| 2268 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2019-03-27T00:00"))); |
2253 | 2269 | assertThat(transaction.getShares(), is(Values.Share.factorize(715))); |
2254 | 2270 | assertThat(transaction.getNote(), is("Abrechnungsnr. 111111111 | Schlussdividende")); |
2255 | 2271 | assertThat(transaction.getSource(), is("Dividende12.txt")); |
@@ -2297,6 +2313,7 @@ public void testDividende12WithSecurityInEUR() |
2297 | 2313 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
2298 | 2314 |
|
2299 | 2315 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2019-07-01T00:00"))); |
| 2316 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2019-03-27T00:00"))); |
2300 | 2317 | assertThat(transaction.getShares(), is(Values.Share.factorize(715))); |
2301 | 2318 | assertThat(transaction.getNote(), is("Abrechnungsnr. 111111111 | Schlussdividende")); |
2302 | 2319 | assertThat(transaction.getSource(), is("Dividende12.txt")); |
@@ -2349,6 +2366,7 @@ public void testDividende13() |
2349 | 2366 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
2350 | 2367 |
|
2351 | 2368 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2015-10-13T00:00"))); |
| 2369 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2015-09-10T00:00"))); |
2352 | 2370 | assertThat(transaction.getShares(), is(Values.Share.factorize(450))); |
2353 | 2371 | assertThat(transaction.getNote(), is("Abrechnungsnr. 12345678901 | Zwischendividende")); |
2354 | 2372 | assertThat(transaction.getSource(), is("Dividende13.txt")); |
@@ -2395,6 +2413,7 @@ public void testDividende13WithSecurityInEUR() |
2395 | 2413 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
2396 | 2414 |
|
2397 | 2415 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2015-10-13T00:00"))); |
| 2416 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2015-09-10T00:00"))); |
2398 | 2417 | assertThat(transaction.getShares(), is(Values.Share.factorize(450))); |
2399 | 2418 | assertThat(transaction.getNote(), is("Abrechnungsnr. 12345678901 | Zwischendividende")); |
2400 | 2419 | assertThat(transaction.getSource(), is("Dividende13.txt")); |
@@ -2446,6 +2465,7 @@ public void testDividende14() |
2446 | 2465 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
2447 | 2466 |
|
2448 | 2467 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2021-03-05T00:00"))); |
| 2468 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2021-02-18T00:00"))); |
2449 | 2469 | assertThat(transaction.getShares(), is(Values.Share.factorize(935))); |
2450 | 2470 | assertThat(transaction.getSource(), is("Dividende14.txt")); |
2451 | 2471 | assertThat(transaction.getNote(), is("Abrechnungsnr. 12345678901")); |
@@ -2493,6 +2513,7 @@ public void testDividende14WithSecurityInEUR() |
2493 | 2513 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
2494 | 2514 |
|
2495 | 2515 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2021-03-05T00:00"))); |
| 2516 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2021-02-18T00:00"))); |
2496 | 2517 | assertThat(transaction.getShares(), is(Values.Share.factorize(935))); |
2497 | 2518 | assertThat(transaction.getSource(), is("Dividende14.txt")); |
2498 | 2519 | assertThat(transaction.getNote(), is("Abrechnungsnr. 12345678901")); |
@@ -2642,6 +2663,7 @@ public void testDividende16() |
2642 | 2663 | assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS)); |
2643 | 2664 |
|
2644 | 2665 | assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2014-05-14T00:00"))); |
| 2666 | + assertThat(transaction.getExDate(), is(LocalDateTime.parse("2014-05-14T00:00"))); |
2645 | 2667 | assertThat(transaction.getShares(), is(Values.Share.factorize(200))); |
2646 | 2668 | assertThat(transaction.getSource(), is("Dividende16.txt")); |
2647 | 2669 | assertThat(transaction.getNote(), is("Abrechnungsnr. 63310000000")); |
@@ -2679,7 +2701,8 @@ public void testDividende17() |
2679 | 2701 |
|
2680 | 2702 | // check dividends transaction |
2681 | 2703 | assertThat(results, hasItem(dividend( // |
2682 | | - hasDate("2023-12-19T00:00"), hasShares(497.00), // |
| 2704 | + hasDate("2023-12-19T00:00"), hasExDate("2023-12-07T00:00"), // |
| 2705 | + hasShares(497.00), // |
2683 | 2706 | hasSource("Dividende17.txt"), // |
2684 | 2707 | hasNote("Abrechnungsnr. 85345940130 | Monatliche Dividende"), // |
2685 | 2708 | hasAmount("EUR", 141.90), hasGrossValue("EUR", 192.24), // |
@@ -2715,7 +2738,8 @@ public void testDividende17WithSecurityInEUR() |
2715 | 2738 |
|
2716 | 2739 | // check dividends transaction |
2717 | 2740 | assertThat(results, hasItem(dividend( // |
2718 | | - hasDate("2023-12-19T00:00"), hasShares(497.00), // |
| 2741 | + hasDate("2023-12-19T00:00"), hasExDate("2023-12-07T00:00"), // |
| 2742 | + hasShares(497.00), // |
2719 | 2743 | hasSource("Dividende17.txt"), // |
2720 | 2744 | hasNote("Abrechnungsnr. 85345940130 | Monatliche Dividende"), // |
2721 | 2745 | hasAmount("EUR", 141.90), hasGrossValue("EUR", 192.24), // |
|
0 commit comments