@@ -196,6 +196,9 @@ public void testHeaderTrailerRequired() throws Exception {
196196 data += "</fix>" ;
197197
198198 DataDictionary dd = new DataDictionary (new ByteArrayInputStream (data .getBytes ()));
199+ assertEquals (1 , dd .getNumMessageCategories ());
200+ assertEquals ("0" , dd .getMsgType ("Heartbeat" ));
201+
199202 assertTrue ("BeginString should be required" , dd .isRequiredHeaderField (8 ));
200203 assertFalse ("OnBehalfOfCompID should not be required" , dd .isRequiredHeaderField (115 ));
201204 assertTrue ("Checksum should be required" , dd .isRequiredTrailerField (10 ));
@@ -428,6 +431,25 @@ public void testNewOrderSingleWithMisplacedTag50() throws Exception {
428431 assertTrue (nos4 .getHeader ().isSetField (new SenderSubID ()));
429432 }
430433
434+ public void testCopy () throws Exception {
435+ final DataDictionary dataDictionary = new DataDictionary (getDictionary ());
436+
437+ dataDictionary .setAllowUnknownMessageFields (true );
438+ dataDictionary .setCheckFieldsHaveValues (false );
439+ dataDictionary .setCheckFieldsOutOfOrder (false );
440+ dataDictionary .setCheckUnorderedGroupFields (false );
441+ dataDictionary .setCheckUserDefinedFields (false );
442+
443+ DataDictionary ddCopy = new DataDictionary (dataDictionary );
444+
445+ assertEquals (ddCopy .isAllowUnknownMessageFields (),dataDictionary .isAllowUnknownMessageFields ());
446+ assertEquals (ddCopy .isCheckFieldsHaveValues (),dataDictionary .isCheckFieldsHaveValues ());
447+ assertEquals (ddCopy .isCheckFieldsOutOfOrder (),dataDictionary .isCheckFieldsOutOfOrder ());
448+ assertEquals (ddCopy .isCheckUnorderedGroupFields (),dataDictionary .isCheckUnorderedGroupFields ());
449+ assertEquals (ddCopy .isCheckUserDefinedFields (),dataDictionary .isCheckUserDefinedFields ());
450+
451+ }
452+
431453 //
432454 // Group Validation Tests in RepeatingGroupTest
433455 //
0 commit comments