public void testIgnoreOutOfOrderGroupMembersDelimeterField() throws Exception {
   final Message m =
       new Message(
           "8=FIX.4.49=035=D34=249=TW52=<TIME>56=ISLD11=ID21=140=154=1"
               + "38=200.0055=INTC78=280=5079=acct180=15079=acct260=<TIME>10=000",
           defaultDataDictionaryWithIgnoreOutOfOrder,
           false);
   try {
     defaultDataDictionaryWithIgnoreOutOfOrder.validate(m);
     Assert.fail("No exception");
   } catch (final FieldException e) {
     // expected
     assertEquals(
         SessionRejectReason.REPEATING_GROUP_FIELDS_OUT_OF_ORDER, e.getSessionRejectReason());
     assertEquals(80, e.getField());
   }
 }
 public void testRequiredGroupMembers() throws Exception {
   // Missing group tag 304
   final Message m =
       new Message(
           "8=FIX.4.49=035=i34=249=TW52=20080203-00:29:51.453"
               + "56=ISLD117=ID296=1302=X10=000",
           defaultDataDictionary,
           false);
   try {
     defaultDataDictionary.validate(m);
     Assert.fail("No exception");
   } catch (final FieldException e) {
     // expected
     assertEquals(
         e.getMessage(), SessionRejectReason.REQUIRED_TAG_MISSING, e.getSessionRejectReason());
     assertEquals(304, e.getField());
   }
 }
 public void testOutOfOrderGroupMembers() throws Exception {
   final Message m =
       new Message(
           "8=FIX.4.49=035=D34=249=TW52=20080203-00:29:51.45356=ISLD11=ID21=140=154=1"
               + "38=200.0055=INTC78=279=acct180=50661=X79=acct280=150661=X60=20080203-00:29:51.45310=000",
           defaultDataDictionary,
           false);
   try {
     defaultDataDictionary.validate(m);
     Assert.fail("No exception");
   } catch (final FieldException e) {
     // expected
     assertEquals(
         e.getMessage(),
         SessionRejectReason.REPEATING_GROUP_FIELDS_OUT_OF_ORDER,
         e.getSessionRejectReason());
     assertEquals(661, e.getField());
   }
 }
 public void testWrongGroupCount() throws Exception {
   // Excessive group counts in nested group
   final Message m =
       new Message(
           "8=FIX.4.49=035=i34=249=TW52=20080203-00:29:51.453"
               + "56=ISLD117=ID296=1302=X304=5295=50299=QID10=085",
           defaultDataDictionary,
           true);
   try {
     defaultDataDictionary.validate(m);
     Assert.fail("No exception");
   } catch (final FieldException e) {
     // expected
     assertEquals(
         "Wrong reject reason: [" + e.getMessage() + "]",
         SessionRejectReason.INCORRECT_NUMINGROUP_COUNT_FOR_REPEATING_GROUP,
         e.getSessionRejectReason());
     assertEquals(295, e.getField());
   }
 }