TeildatensatzXml extends Teildatensatz { private FeldXml getFeld(Map<String, FeldXml> felder, String id) { FeldXml feldXml = felder.get(id); if (feldXml == null) { LOG.info("Will try fallback for reference '{}'.", id); feldXml = MISSING_FELDER.get(id); } if (feldXml == null) { throw new IllegalArgumentException("reference '" + id + "' not found in " + felder); } return feldXml; } TeildatensatzXml(final int satzart, final int nr); void add(final FeldReferenz referenz); void setSatzende(final Satzende satzende); void updateWith(Map<String, FeldXml> felder); FeldReferenz getFeldRefenz(final Bezeichner bezeichner);  }
@Test public void testGetLeerstellen() { try { satz100.getTeildatensatz(1).getFeld(new Bezeichner("Leerstellen")); fail("IllegalArgumentException bei fehlendem Feld erwartet"); } catch (IllegalArgumentException ex) { assertThat("Exception sollte Bezeichner und Satzart beschreiben", ex.getMessage(), allOf(containsString("Leerstellen"), containsString("Satzart 0100"))); } checkLeerstellen(2, new AlphaNumFeld(Feld100.LEERSTELLEN)); }