Skip to content

Commit

Permalink
Bezeichner an geänderte Schreibweise aus VUVM2023.xml angepasst
Browse files Browse the repository at this point in the history
  • Loading branch information
Oli B committed Dec 19, 2023
1 parent c60858d commit bafc87b
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 8 deletions.
3 changes: 2 additions & 1 deletion lib/src/main/java/gdv/xport/feld/Bezeichner.java
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ public final class Bezeichner implements Serializable {
public static final Bezeichner AUFTRAGSNR_VERMITTLER = new Bezeichner("Auftrags-Nr. des Vermittlers");
public static final Bezeichner AUSFALLZIFFER_IN_PROZENT = new Bezeichner("Ausfallziffer in %");
public static final Bezeichner AUSLOESUNG_DER_LEISTUNG = new Bezeichner("Ausloesung der Leistung");
/** @deprecated bitte Konstante AUSSCHLUSS verwenden */
public static final Bezeichner AUSCHLUSS = new Bezeichner("Auschluss");
public static final Bezeichner AUSSCHLUSS = new Bezeichner("Ausschluss", "Ausschluss", "Auschluss");
public static final Bezeichner AUSSCHLUSS2 = new Bezeichner("Ausschluss2", "Ausschluss2");
Expand Down Expand Up @@ -395,7 +396,7 @@ public final class Bezeichner implements Serializable {
public static final Bezeichner ERHOEHUNGSBASIS_DYNAMIK = new Bezeichner("Erhoehungsbasis Dynamik");
public static final Bezeichner ERHOEHUNGSSATZ_LETZTER_GLASPREISANGLEICHUNG = new Bezeichner("%-Satz Erhöhung der letzten Glaspreisangleichung");
public static final Bezeichner ERSTATTUNG_OP = new Bezeichner("Erstattung OP");
public static final Bezeichner ERSTE_ZULASSUNG_AUF_DEN_VN = new Bezeichner("Erste Zulassung auf den VN", "ErsteZulassungAufDenVn");
public static final Bezeichner ERSTE_ZULASSUNG_AUF_DEN_VN = new Bezeichner("Erste Zulassung auf den VN", "ErsteZulassungAufVN", "ErsteZulassungAufDenVn");
public static final Bezeichner ERSTZULASSUNG = new Bezeichner("Erstzulassung");
public static final Bezeichner ERWEITERTE_NEUWERTVERSICHERUNG = new Bezeichner("erweiterte Neuwertversicherung");
public static final Bezeichner ERWEITERUNG_DES_GELTUNGSBEREICHES = new Bezeichner("Erweiterung des Geltungsbereiches");
Expand Down
27 changes: 20 additions & 7 deletions lib/src/test/java/gdv/xport/feld/BezeichnerIT.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@

/**
* Klasse BezeichnerIT ueberpreuft die Konstanten in der {@link Bezeichner}-
* Klasse, ob der technische Name in "VUVM2018.xml" tatsaechlich existiert.
* Klasse, ob der technische Name in "VUVM2023.xml" tatsaechlich existiert.
* Da der Test die komplette Bezeichner-Klasse durchscannt und mit der
* 5MB-großen XML-Datei abgleicht, dauert er etwas laenger und ist daher als
* Integrations-Test mit Suffix IT gekennzeichnet.
Expand Down Expand Up @@ -79,7 +79,7 @@ public static Collection<Object[]> data() {

private static boolean isExcludedFromTest(Field field) {
String[] prefixes =
{"ABSTAND", "ABWEICHENDE_LEISTUNGSDAUER", "AENDERUNG", "ANFAENGLICHE", "AUSZAHLUNGSWEISE",
{"ABSTAND", "ABWEICHENDE_LEISTUNGSDAUER", "AENDERUNG", "ANFAENGLICHE", "AUSCHLUSS", "AUSZAHLUNGSWEISE",
"ANZAHL_DER_AUSZAHLUNGEN",
"BE", "BUZ", "EINSCHLUSS_PROZENT_SATZ", "ERLEBENSFALL_VS", "ERSTELLUNGSDAT_ZEITRAUM",
"FALLENDE", "GES", "INTRO", "KARENZZEIT", "KENN", "KU_",
Expand All @@ -102,8 +102,8 @@ private static void addTo(Collection<Object[]> values, Bezeichner b) {

/**
* Hier werden die moeglichen technischen Namen aus der XML-Beschreibung
* ("VUVM2018.xml") ausgelesen und gesammelt. Ergaenzt wird die Liste um
* technische Namen, die manuell mit "VUVM2018.xml" abgeglichen wurden,
* ("VUVM2023.xml") ausgelesen und gesammelt. Ergaenzt wird die Liste um
* technische Namen, die manuell mit "VUVM2023.xml" abgeglichen wurden,
* aber nicht ueber die Satzarten eingelesen wurden.
*
* @throws ParserConfigurationException im Fehlerfall
Expand All @@ -113,7 +113,7 @@ private static void addTo(Collection<Object[]> values, Bezeichner b) {
@BeforeClass
public static void readTechnischeNamen() throws ParserConfigurationException, SAXException, IOException {
VuvmHandler handler = new VuvmHandler();
handler.scan("src/main/resources/gdv/xport/satz/xml/VUVM2018.xml");
handler.scan("src/main/resources/gdv/xport/satz/xml/VUVM2023.xml");
TECHNISCHE_NAMEN.addAll(handler.getTechnischeNamen());
TECHNISCHE_NAMEN.addAll(Arrays.asList(
"KhDeckungssummenInWETeil1", "KhDeckungssummenInWETeil2", "KhDeckungssummenInWETeil3",
Expand All @@ -123,15 +123,28 @@ public static void readTechnischeNamen() throws ParserConfigurationException, SA
/**
* Dieser Test ueberprueft die technische Schreibweise eines Bezeichners.
* Falls die technische Schreibweise richtig ist, muss sie auch in der
* XML-Beschreibung (VUVM2018.xml) vorkommen.
* XML-Beschreibung (VUVM2023.xml) vorkommen.
* <p>
* Wegen der Rechtschreibkorrekturen in 2023 gibt es nun weitere Varianten.
* Das wird jetzt beruecksichtigt.
* </p>
*/
@Test
public void testTechnischerName() {
if (!mapsTechnischerName(bezeichner.getTechnischerName())) {
if (!mapsTechnischerName(bezeichner)) {
fail("wrong technischer Name: " + bezeichner);
}
}

private boolean mapsTechnischerName(Bezeichner bez) {
for (Bezeichner b : bez.getVariants()) {
if (mapsTechnischerName(b.getTechnischerName())) {
return true;
}
}
return false;
}

private boolean mapsTechnischerName(String name) {
if (TECHNISCHE_NAMEN.contains(name) || TECHNISCHE_NAMEN.contains(name + "1")) {
return true;
Expand Down

0 comments on commit bafc87b

Please sign in to comment.