public void RepeatingGroup() { QuickFix.DataDictionary.DataDictionary dd = new QuickFix.DataDictionary.DataDictionary(); dd.Load("../../../spec/fix/FIX42.xml"); QuickFix.FIX42.News news = new QuickFix.FIX42.News(new QuickFix.Fields.Headline("Foo headline")); QuickFix.FIX42.News.LinesOfTextGroup group1 = new QuickFix.FIX42.News.LinesOfTextGroup(); group1.Text = new QuickFix.Fields.Text("line1"); group1.EncodedTextLen = new QuickFix.Fields.EncodedTextLen(3); group1.EncodedText = new QuickFix.Fields.EncodedText("aaa"); news.AddGroup(group1); QuickFix.FIX42.News.LinesOfTextGroup group2 = new QuickFix.FIX42.News.LinesOfTextGroup(); group2.Text = new QuickFix.Fields.Text("line2"); group2.EncodedText = new QuickFix.Fields.EncodedText("bbb"); news.AddGroup(group2); string raw = news.ToString(); string nul = "\x01"; StringAssert.Contains( nul + "33=2" + nul + "58=line1" + nul + "354=3" + nul + "355=aaa" + nul + "58=line2" + nul + "355=bbb", raw); }
public void issue56_GetGroup_type2() { // boring message construction stuff var dd = new QuickFix.DataDictionary.DataDictionary(); dd.Load("../../../spec/fix/FIX44.xml"); string[] msgFields = { "8=FIX.4.2", "9=87", "35=B", "34=3", "49=CLIENT1", "52=20111012-22:15:55.474", "56=EXECUTOR", "148=AAAAAAA", "33=2", "58=L1", "58=L2", "10=016" }; string msgStr = String.Join(Message.SOH, msgFields) + Message.SOH; QuickFix.FIX42.News msg = new QuickFix.FIX42.News(); msg.FromString(msgStr, false, dd, dd, _defaultMsgFactory); Assert.AreEqual(2, msg.GroupCount(Tags.LinesOfText)); // for sanity // the test QuickFix.FIX42.News.LinesOfTextGroup grp = new QuickFix.FIX42.News.LinesOfTextGroup(); // for return value var rv1 = msg.GetGroup(1, grp); Assert.AreSame(rv1, grp); Assert.IsInstanceOf <QuickFix.FIX42.News.LinesOfTextGroup>(rv1); Assert.AreEqual("L1", grp.Text.Obj); var rv2 = msg.GetGroup(2, grp); Assert.AreSame(rv2, grp); Assert.IsInstanceOf <QuickFix.FIX42.News.LinesOfTextGroup>(rv2); Assert.AreEqual("L2", grp.Text.Obj); }
public void AddGroupKeepTypeTest() { // bug found during issue 56 - Group object was losing type after being added FieldMap fm = new FieldMap(); QuickFix.FIX42.News.LinesOfTextGroup linesGroup = new QuickFix.FIX42.News.LinesOfTextGroup(); linesGroup.Text = new QuickFix.Fields.Text("foo"); fm.AddGroup(linesGroup); var rvGroup = fm.GetGroup(1, Tags.LinesOfText); Assert.IsInstanceOf<QuickFix.FIX42.News.LinesOfTextGroup>(rvGroup); }
public void AddGroupKeepTypeTest() { // bug found during issue 56 - Group object was losing type after being added FieldMap fm = new FieldMap(); QuickFix.FIX42.News.LinesOfTextGroup linesGroup = new QuickFix.FIX42.News.LinesOfTextGroup(); linesGroup.Text = new QuickFix.Fields.Text("foo"); fm.AddGroup(linesGroup); var rvGroup = fm.GetGroup(1, Tags.LinesOfText); Assert.IsInstanceOf <QuickFix.FIX42.News.LinesOfTextGroup>(rvGroup); }
public void GroupClone() { QuickFix.FIX42.News.LinesOfTextGroup linesGroup = new QuickFix.FIX42.News.LinesOfTextGroup(); linesGroup.Text = new QuickFix.Fields.Text("foo"); linesGroup.EncodedText = new QuickFix.Fields.EncodedText("bar"); QuickFix.FIX42.News.LinesOfTextGroup clone = linesGroup.Clone() as QuickFix.FIX42.News.LinesOfTextGroup; Assert.AreEqual(linesGroup.Text.Obj, clone.Text.Obj); Assert.AreEqual(linesGroup.EncodedText.Obj, clone.EncodedText.Obj); Assert.AreEqual(linesGroup.Delim, clone.Delim); Assert.AreEqual(linesGroup.Field, clone.Field); Assert.AreEqual(linesGroup.FieldOrder, clone.FieldOrder); }
public void GroupClone() { QuickFix.FIX42.News.LinesOfTextGroup linesGroup = new QuickFix.FIX42.News.LinesOfTextGroup(); linesGroup.Text = new QuickFix.Fields.Text("foo"); linesGroup.EncodedText = new QuickFix.Fields.EncodedText("bar"); QuickFix.FIX42.News.LinesOfTextGroup clone = linesGroup.Clone() as QuickFix.FIX42.News.LinesOfTextGroup; Assert.AreEqual(linesGroup.Text.Obj, clone.Text.Obj); Assert.AreEqual(linesGroup.EncodedText.Obj, clone.EncodedText.Obj); Assert.AreEqual(linesGroup.Delim, clone.Delim); Assert.AreEqual(linesGroup.Field, clone.Field); Assert.AreEqual(linesGroup.FieldOrder, clone.FieldOrder); }
/// <summary> /// Create a News message. Nothing unexpected here. /// </summary> /// <param name="headline_str"></param> /// <param name="lines"></param> /// <returns></returns> static public QuickFix.FIX42.News News(string headline_str, IList<string> lines) { QuickFix.Fields.Headline headline = new QuickFix.Fields.Headline(headline_str); QuickFix.FIX42.News news = new QuickFix.FIX42.News(headline); QuickFix.FIX42.News.LinesOfTextGroup group = new QuickFix.FIX42.News.LinesOfTextGroup(); foreach (string s in lines) { group.Text = new QuickFix.Fields.Text(s); news.AddGroup(group); } if (lines.Count == 0) { QuickFix.Fields.LinesOfText noLines = new QuickFix.Fields.LinesOfText(0); news.SetField(noLines, true); } return news; }
/// <summary> /// Create a News message. Nothing unexpected here. /// </summary> /// <param name="headline_str"></param> /// <param name="lines"></param> /// <returns></returns> static public QuickFix.FIX42.News News(string headline_str, IList <string> lines) { QuickFix.Fields.Headline headline = new QuickFix.Fields.Headline(headline_str); QuickFix.FIX42.News news = new QuickFix.FIX42.News(headline); QuickFix.FIX42.News.LinesOfTextGroup group = new QuickFix.FIX42.News.LinesOfTextGroup(); foreach (string s in lines) { group.Text = new QuickFix.Fields.Text(s); news.AddGroup(group); } if (lines.Count == 0) { QuickFix.Fields.LinesOfText noLines = new QuickFix.Fields.LinesOfText(0); news.SetField(noLines, true); } return(news); }
public void RepeatingGroup_ReuseObject() { QuickFix.DataDictionary.DataDictionary dd = new QuickFix.DataDictionary.DataDictionary(); dd.Load("../../../spec/fix/FIX42.xml"); QuickFix.FIX42.News news = new QuickFix.FIX42.News(new QuickFix.Fields.Headline("Foo headline")); QuickFix.FIX42.News.LinesOfTextGroup group = new QuickFix.FIX42.News.LinesOfTextGroup(); group.Text = new QuickFix.Fields.Text("line1"); news.AddGroup(group); group.Text = new QuickFix.Fields.Text("line2"); news.AddGroup(group); string raw = news.ToString(); string nul = "\x01"; StringAssert.Contains( nul + "33=2" + nul + "58=line1" + nul + "58=line2", raw); }
public void issue56_GetGroup_by_reference() { // setup var dd = new QuickFix.DataDictionary.DataDictionary(); dd.LoadFIXSpec("FIX44"); string[] msgFields = { "8=FIX.4.2", "9=87", "35=B", "34=3", "49=CLIENT1", "52=20111012-22:15:55.474", "56=EXECUTOR", "148=AAAAAAA", "33=2", "58=L1", "58=L2", "10=016" }; string msgStr = String.Join(Message.SOH, msgFields) + Message.SOH; QuickFix.FIX42.News msg = new QuickFix.FIX42.News(); msg.FromString(msgStr, false, dd, dd, _defaultMsgFactory); Assert.AreEqual(2, msg.GroupCount(Tags.LinesOfText)); // for sanity // the test QuickFix.FIX42.News.LinesOfTextGroup grp = new QuickFix.FIX42.News.LinesOfTextGroup(); // for return value msg.GetGroup(1, grp); Assert.AreEqual("L1", grp.Text.Obj); msg.GetGroup(2, grp); Assert.AreEqual("L2", grp.Text.Obj); }
public void issue56_GetGroup_by_reference() { // setup var dd = new QuickFix.DataDictionary.DataDictionary(); dd.Load("../../../spec/fix/FIX44.xml"); string[] msgFields = { "8=FIX.4.2", "9=87", "35=B", "34=3", "49=CLIENT1", "52=20111012-22:15:55.474", "56=EXECUTOR", "148=AAAAAAA", "33=2", "58=L1", "58=L2", "10=016" }; string msgStr = String.Join(Message.SOH, msgFields) + Message.SOH; QuickFix.FIX42.News msg = new QuickFix.FIX42.News(); msg.FromString(msgStr, false, dd, dd, _defaultMsgFactory); Assert.AreEqual(2, msg.GroupCount(Tags.LinesOfText)); // for sanity // the test QuickFix.FIX42.News.LinesOfTextGroup grp = new QuickFix.FIX42.News.LinesOfTextGroup(); // for return value msg.GetGroup(1, grp); Assert.AreEqual("L1", grp.Text.Obj); msg.GetGroup(2, grp); Assert.AreEqual("L2", grp.Text.Obj); }
public void RepeatingGroup_ReuseObject() { QuickFix.DataDictionary.DataDictionary dd = new QuickFix.DataDictionary.DataDictionary(); dd.Load("../../../spec/fix/FIX42.xml"); QuickFix.FIX42.News news = new QuickFix.FIX42.News(new QuickFix.Fields.Headline("Foo headline")); QuickFix.FIX42.News.LinesOfTextGroup group = new QuickFix.FIX42.News.LinesOfTextGroup(); group.Text = new QuickFix.Fields.Text("line1"); news.AddGroup(group); group.Text = new QuickFix.Fields.Text("line2"); news.AddGroup(group); string raw = news.ToString(); string nul = "\x01"; StringAssert.Contains( nul + "33=2" + nul + "58=line1" + nul + "58=line2", raw); }
public void RepeatingGroup() { QuickFix.DataDictionary.DataDictionary dd = new QuickFix.DataDictionary.DataDictionary(); dd.Load("../../../spec/fix/FIX42.xml"); QuickFix.FIX42.News news = new QuickFix.FIX42.News(new QuickFix.Fields.Headline("Foo headline")); QuickFix.FIX42.News.LinesOfTextGroup group1 = new QuickFix.FIX42.News.LinesOfTextGroup(); group1.Text = new QuickFix.Fields.Text("line1"); group1.EncodedTextLen = new QuickFix.Fields.EncodedTextLen(3); group1.EncodedText = new QuickFix.Fields.EncodedText("aaa"); news.AddGroup(group1); QuickFix.FIX42.News.LinesOfTextGroup group2 = new QuickFix.FIX42.News.LinesOfTextGroup(); group2.Text = new QuickFix.Fields.Text("line2"); group2.EncodedText = new QuickFix.Fields.EncodedText("bbb"); news.AddGroup(group2); string raw = news.ToString(); string nul = "\x01"; StringAssert.Contains( nul + "33=2" + nul + "58=line1" + nul + "354=3" + nul + "355=aaa" + nul + "58=line2" + nul + "355=bbb", raw); }