@Test
public void testMessageGroupCountValidation() throws Exception {

    final String data = "8=FIX.4.4\0019=222\00135=D\00149=SenderCompId\00156=TargetCompId\00134=37\001" +
        "52=20070223-22:28:33\00111=183339\00122=8\00138=1\00140=2\00144=12\00148=BHP\00154=2\001" +
        "55=BHP\00159=1\00160=20060223-22:38:33\001526=3620\00178=0\00179=AllocACC1\00180=1010.1\001" +
        "79=AllocACC2\00180=2020.2\001453=2\001448=8\001447=D\001452=4\001448=AAA35354\001447=D\001452=3\00110=079\001";
    final Message message = new Message();
    final DataDictionary dd = DataDictionaryTest.getDictionary();
    message.fromString(data, dd, true);
    try {
        dd.validate(message);
        fail("No exception thrown");
    } catch (final FieldException e) {
        final String emsg = e.getMessage();
        assertNotNull("No exception message", emsg);
        assertTrue(emsg.startsWith("Incorrect NumInGroup"));
    }
}