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()); } }