Klasse DatenpaketTest
java.lang.Object
gdv.xport.DatenpaketTest
JUnit- und Integrations-Tests fuer
Datenpaket
-Klasse. Die
Integrationstests waren urspruenglich durch "@IntegrationTest" gekennzeichnet.
Mit dem JUnit-Vintage-Runner aus JUnit 5 has aber nicht mehr zuverlaessig
funktioniert, sodass jetzt darauf verzichtet wird.- Seit:
- 23.10.2009
- Autor:
- oliver
-
Konstruktorübersicht
-
Methodenübersicht
Modifizierer und TypMethodeBeschreibungstatic void
void
testAdd()
Testet das Hinzuefuegen eines Datensatzes.void
void
void
void
void
void
void
void
Test-Import von "Bender_Leben.GDV".void
void
Test-Methode fuerDatenpaket.export(java.io.Writer)
.void
void
Tested den Export.void
void
void
void
void
Test-Methode fuerDatenpaket.getAbsender()
.void
Falls kein Datum gesetzt wird, sollte als Default das heutige DAtum zurueckgegeben werden.void
Test dass ein Datensatz in einer alten Version korrekt ist, in einer neuen Version aber nicht korrekt Testfall eines Beispiels eines 0220.010.48-er Datensatzes, Aenderung zwischen VUVM2015 und VUVM2018 (Risikozuschlag in %)void
void
Tested einen Import von 2 Datenpaketen.void
void
Tested einen Import von 2 Datenpaketen.void
Der Export eines zuvor importierten Datenpakets sollte identisch mit der Ausgangsdatei sein.void
void
Ursache fuer Issue 37 war ein Encoding-Problem beim Import.void
Der Test wurde als IntegrationTest markiert, da dazu eine Online-Verbindung noetig ist (die nicht immer vorausgesetzt werden kann).void
Tested den Import von einer URL.void
Hier wird die Import-Datei getestet, die mir Igor geschickt hat und mit der es anfangs Probleme gab.void
Hier wird die Import-Datei getestet, die mir Igor geschickt hat und mit dem es anfangs Probleme gab.void
Test fuer Issue #82.void
Tested den Import.void
void
Falls Leerzeichen am Zeilenende weggelassen wurden, sollen die einzelnen Saetze trotzdem importiert werden koennen.void
void
Hierueber wird der fehlerhafte Import aus Issue #61 nachgestellt.void
Test-Import von "Leben_Wagnis2_Riester.GDV".void
Test-Import von "Leben_Wagnis3_Risikoversicherung.GDV".void
Test-Import von "Leben_Wagnis4_BU.GDV".void
Dieser Test dient zum Messen des Speicherverbrauchs.void
void
testPack()
Dies ist Testfall fuer Issue #62.void
void
Test-Methode fuerDatenpaket.getVermittler()
.void
void
void
Pruefe, ob der Wechsel zum naechsten Datensatz korrekt funktioniert, auch wenn der folgende Satz die gleiche Satzart+Sparte besitzt...void
Wenn keine VU-Nummer gesetzt wurde, sollte es mind. ein Validierungs- Fehler geben.void
Fuer eine Versicherungsscheinnummer muss die Folgenummer immer mit 1 anfangen.
-
Konstruktordetails
-
DatenpaketTest
public DatenpaketTest()
-
-
Methodendetails
-
setUpExportDir
- Löst aus:
IOException
-
testEmptyExport
Test-Methode fuerDatenpaket.export(java.io.Writer)
. Damit die Assert's der Satzlaenge stimmen, muessen wir das End-of-Datensatz abschalten.- Löst aus:
IOException
- falls z.B. die Platte voll ist
-
testExportFile
Tested den Export. Damit die Assert's der Satzlaenge stimmen, muessen wir das End-of-Datensatz abschalten.- Löst aus:
IOException
- falls Temp-Datei nicht angelegt werden kann.
-
testAdd
public void testAdd()Testet das Hinzuefuegen eines Datensatzes. -
testAddMehrereDatensaetze
- Löst aus:
IOException
-
testAddVorbelegung
public void testAddVorbelegung() -
testGetErstellungsDatumVon
public void testGetErstellungsDatumVon()Falls kein Datum gesetzt wird, sollte als Default das heutige DAtum zurueckgegeben werden. -
testGetAbsender
public void testGetAbsender()Test-Methode fuerDatenpaket.getAbsender()
. -
testSetVermittler
public void testSetVermittler()Test-Methode fuerDatenpaket.getVermittler()
. -
testSetVuNummer
public void testSetVuNummer() -
testImportMusterdatei
Tested den Import.- Löst aus:
IOException
- Signals that an I/O exception has occurred.
-
testImportMusterdateiStrict
- Löst aus:
IOException
-
testImport2Datenpakete
Tested einen Import von 2 Datenpaketen.- Löst aus:
IOException
- Signals that an I/O exception has occurred.
-
testImport2DatenpaketeWithReader
Tested einen Import von 2 Datenpaketen.- Löst aus:
IOException
- Signals that an I/O exception has occurred.
-
testImport2DatenpaketeStrict
- Löst aus:
IOException
-
testImportFromURL
Tested den Import von einer URL.- Löst aus:
IOException
- Signals that an I/O exception has occurred.
-
testImportFromFile
Ursache fuer Issue 37 war ein Encoding-Problem beim Import. Hiermit wurde das Problem nachgestellt.- Löst aus:
IOException
- Signals that an I/O exception has occurred.
-
testImportFromHTTP
Der Test wurde als IntegrationTest markiert, da dazu eine Online-Verbindung noetig ist (die nicht immer vorausgesetzt werden kann).- Löst aus:
IOException
- falls man z.B. offline ist- Seit:
- 0.3
-
testImportTrimmed
Falls Leerzeichen am Zeilenende weggelassen wurden, sollen die einzelnen Saetze trotzdem importiert werden koennen.- Löst aus:
IOException
- Signals that an I/O exception has occurred.- Seit:
- 0.9.3
-
testTeildatensatzWechsel
Pruefe, ob der Wechsel zum naechsten Datensatz korrekt funktioniert, auch wenn der folgende Satz die gleiche Satzart+Sparte besitzt...- Löst aus:
IOException
- Signals that an I/O exception has occurred.
-
testImportExport
Der Export eines zuvor importierten Datenpakets sollte identisch mit der Ausgangsdatei sein.- Löst aus:
IOException
- falls die Platte kaputt ist- Seit:
- 0.5.0
-
testImportExportAllDatensaetze
- Löst aus:
IOException
-
testImportIgor
Hier wird die Import-Datei getestet, die mir Igor geschickt hat und mit der es anfangs Probleme gab.- Löst aus:
IOException
- bei I/O-Problemen
-
testImportIgorAsStream
Hier wird die Import-Datei getestet, die mir Igor geschickt hat und mit dem es anfangs Probleme gab. Dieses Mal wird aber die Datei als Stream eingelesen.- Löst aus:
IOException
- bei I/O-Problemen
-
testBenderLeben
Test-Import von "Bender_Leben.GDV".- Löst aus:
IOException
- bei I/O-Problemen
-
testLebenWagnis2Riester
Test-Import von "Leben_Wagnis2_Riester.GDV".- Löst aus:
IOException
- bei I/O-Problemen
-
testLebenWagnis3Riskikoversicherung
Test-Import von "Leben_Wagnis3_Risikoversicherung.GDV".- Löst aus:
IOException
- bei I/O-Problemen
-
testLebenWagnis4BU
Test-Import von "Leben_Wagnis4_BU.GDV".- Löst aus:
IOException
- bei I/O-Problemen
-
testValidate
public void testValidate()Wenn keine VU-Nummer gesetzt wurde, sollte es mind. ein Validierungs- Fehler geben. -
testValidateFolgenummer
public void testValidateFolgenummer()Fuer eine Versicherungsscheinnummer muss die Folgenummer immer mit 1 anfangen. Taucht dieser Versicherungsscheinnummer fuer den gleichen Satz ein zweites Mal auf, muss die Folgenummer entsprechend erhoeht werden. -
testAddDatensatz200
public void testAddDatensatz200() -
testAddDatensatz400BeitragBrutto
public void testAddDatensatz400BeitragBrutto() -
testAddDatensatz400Provision
public void testAddDatensatz400Provision() -
testAddDatensatz500VersicherungsLeistungen
public void testAddDatensatz500VersicherungsLeistungen() -
testAddDatensatz500Schaden
public void testAddDatensatz500Schaden() -
testSetVersionNachsatz
public void testSetVersionNachsatz() -
testEquals
public void testEquals() -
testNotEquals
public void testNotEquals() -
testImportWagnisart13
Hierueber wird der fehlerhafte Import aus Issue #61 nachgestellt.- Löst aus:
IOException
- im Fehlerfall
-
testExportImportWagnisart13
- Löst aus:
IOException
-
testExportImport221Wagnisdaten
- Löst aus:
IOException
-
testPack
Dies ist Testfall fuer Issue #62.- Löst aus:
IOException
- im Fehlerfall
-
testPackMusterdatei
- Löst aus:
IOException
-
testExportImportSchaden500V1_8
- Löst aus:
IOException
-
testExportImportSchaden500V1_5
- Löst aus:
IOException
-
testImport0220_010_48_version_differences
Test dass ein Datensatz in einer alten Version korrekt ist, in einer neuen Version aber nicht korrekt Testfall eines Beispiels eines 0220.010.48-er Datensatzes, Aenderung zwischen VUVM2015 und VUVM2018 (Risikozuschlag in %)- Löst aus:
IOException
- im Fehlerfall
-
testImportUnbekannterSatz
- Löst aus:
IOException
-
testImport0220_020_1_satz_kaputt
- Löst aus:
IOException
-
testMemoryVerbrauch
Dieser Test dient zum Messen des Speicherverbrauchs. Aktuell steigt er nach 7946 kompletten Datensaetzen (ca. 1.26 Mio Saetze) mit einer OOME aus (nach 4 Minunten bei 8 GB Haupt-Speicher).Nach der Optimierung des Speicherabrdrucks steigt dieser Test unter gleichen Ausgangsbedingungen erst nach 15.000 kompletten Datensaetzen (2.0 Mio Saetzen, 2.9 Mio Teildatensaetzen) aus.
Eine Abloesung der Speicherung der Felder als HashMap durch eine SortedSet lies den Speicherverbrauch wieder um ca. 20% anstelgen (ca. 12.200 komplette Datensaetze). Durch den Austausch der SortedSet durch eine Arraylist brachte hingegen einen weiteren Speicherreduktion um 20% (17.700 Datensaetze).
- Löst aus:
CloneNotSupportedException
- sollte nicht vorkommen
-
testConfigVorsatzNachsatz
public void testConfigVorsatzNachsatz() -
testImportLebenFromFileMixedTeildatensaetze
Test fuer Issue #82. Problem ist, dass Teildatensaetze bei Leben in der falschen Reihenfolge (Wagnisarten) nicht korrekt auf die Saetze geparst werden. So wird z.B. ein Tds2 von Wagnisart 2 (der direkt auf einen Tds1 von Wagnisart 48 folgt), faelschlicherweise als Tds2 der Wagnisart 48 interpretiert. Hiermit wurde das Problem nachgestellt.- Löst aus:
IOException
- Signals that an I/O exception has occurred.
-