SatzFactory { public static Satz getSatz(final int satzart) { return getSatz(new SatzTyp(satzart)); } private  SatzFactory(); static void reset(); static void register(final Class<? extends Satz> clazz, final int satzart); static void registerEnum(final Class<? extends Enum> enumClass, final int satzart); static void registerEnum(final Class<? extends Enum> enumClass, final int satzart, final int sparte); static void registerEnum(final Class<? extends Enum> enumClass, final SatzTyp satzNr); static void unregister(final int satzart); static void register(final Class<? extends Datensatz> clazz, final int satzart, final int sparte); static void register(final Class<? extends Datensatz> clazz, final SatzTyp satzNr); static void unregister(final int satzart, final int sparte); static void unregister(final int satzart, final int sparte, final int wagnisart); static Satz getSatz(final int satzart); static Satz getSatz(final SatzTyp satztyp); static Satz getSatz(final String content); static Datensatz getDatensatz(final int satzart); static Datensatz getDatensatz(final int satzart, final int sparte); static Datensatz getDatensatz(final int satzart, final int sparte, final int wagnisart); static Datensatz getDatensatz(final SatzTyp satzNr); static Datenpaket getAllSupportedSaetze();  }
@Test public void testGetSatz() { Satz vorsatz = new Vorsatz(); String content = vorsatz.toLongString(); Satz satz = SatzFactory.getSatz(content); assertEquals(content, satz.toLongString()); assertEquals(Vorsatz.class, satz.getClass()); }
@Test public void testGetSatzInt() { Satz satz = getSatz(1); assertNotNull(satz.getFeld(Bezeichner.VERSION_SATZART_0100)); }
@Test public void testGetSatz342() { Satz satz342 = getSatz(342); Feld dokumenttyp = satz342.getFeld("Dokumenttyp"); assertEquals(2, dokumenttyp.getAnzahlBytes()); assertEquals(46, dokumenttyp.getByteAdresse()); }
@Test public void testGetUnsupportedSatz() { Datensatz unsupported = new Datensatz("0123"); unsupported.setVuNummer("56789"); unsupported.setSparte(88); unsupported.add(new NumFeld(new Bezeichner("zweiundvierzig"), 4, 200, 42)); String content = unsupported.toLongString(); Satz imported = SatzFactory.getSatz(content); assertEquals(content, imported.toLongString()); assertTrue(imported + " should be valid", imported.isValid()); }
@Test public void testGetSatzDifferent() { Satz one = SatzFactory.getSatz(100); Satz two = SatzFactory.getSatz(100); assertEquals(one, two); assertNotSame(one, two); for (int i = 1; i <= one.getNumberOfTeildatensaetze(); i++) { assertEquals(one.getTeildatensatz(i), two.getTeildatensatz(i)); assertNotSame(one.getTeildatensatz(i), two.getTeildatensatz(i)); } }
@Test public void testGetSatzManipulated() { Teildatensatz one = SatzFactory.getSatz(100).getTeildatensatz(4); Teildatensatz two = SatzFactory.getSatz(100).getTeildatensatz(4); assertNotSame(one, two); Feld oneIban = one.getFeld(Bezeichner.IBAN1); Feld twoIban = two.getFeld(Bezeichner.IBAN1); assertNotSame(oneIban, twoIban); }