SatzXml extends Datensatz { public List<SatzTyp> getSupportedSatzTypen() { List<SatzTyp> satzTypen = new ArrayList<SatzTyp>(); if (this.hasWagnisart()) { TeildatensatzXml tdsXml = (TeildatensatzXml) this.getTeildatensatz(1); FeldReferenz feldReferenz = tdsXml.getFeldRefenz((Bezeichner.WAGNISART)); for (String value : feldReferenz.getDefaultWerte()) { satzTypen.add(new SatzTyp(this.getSatzart(), this.getSparte(), Integer.parseInt(value))); } } else if (this.hasKrankenFolgeNr()) { TeildatensatzXml tdsXml = (TeildatensatzXml) this.getTeildatensatz(1); FeldReferenz feldReferenz = this.hasFeld(Bezeichner.FOLGE_NR_ZUR_LAUFENDEN_PERSONEN_NR_UNTER_NR_LAUFENDE_NR_TARIF) ? tdsXml.getFeldRefenz(Bezeichner.FOLGE_NR_ZUR_LAUFENDEN_PERSONEN_NR_UNTER_NR_LAUFENDE_NR_TARIF) : tdsXml.getFeldRefenz(Bezeichner.FOLGE_NR_ZUR_LAUFENDEN_PERSONEN_NR_UNTER_NR_BZW_LAUFENDEN_NR_TARIF); if (feldReferenz.getBemerkung().contains("mit \"1\" belegt")) { satzTypen.add(new SatzTyp(this.getSatzart(), this.getSparte(), -1, 1, -1)); } else if (feldReferenz.getBemerkung().contains("mit \"2\" belegt")) { satzTypen.add(new SatzTyp(this.getSatzart(), this.getSparte(), -1, 2, -1)); } else if (feldReferenz.getBemerkung().contains("mit \"3\" belegt")) { satzTypen.add(new SatzTyp(this.getSatzart(), this.getSparte(), -1, 3, -1)); } else { LOG.error("Expected Folge-Nr. Bemerkung containing 'mit \"X\"X belegt' for Satzart 220, Sparte 20, Feld 10 with X being 1, 2 or 3, but got " + feldReferenz.getBemerkung()); satzTypen.add(this.getSatzTyp()); } } else { satzTypen.add(this.getSatzTyp()); } return satzTypen; } SatzXml(final XMLEventReader parser);  SatzXml(final XMLEventReader parser, final StartElement element);  SatzXml(final Datensatz orig); void setFelder(Map<String, FeldXml> felder); List<SatzTyp> getSupportedSatzTypen();  }
@Test public void testGetSupportedSatzTypen() { List<SatzTyp> supported = satz100.getSupportedSatzTypen(); assertEquals(1, supported.size()); assertEquals(new SatzTyp(100), supported.get(0)); }
@Test public void testSatz220Wagnis0() throws XMLStreamException { SatzXml satz220 = getSatz("Satz0220.010.0.xml"); List<SatzTyp> supported = satz220.getSupportedSatzTypen(); assertEquals(new SatzTyp(220, 10, 0), supported.get(0)); }