public void SendTest() { Logon(); IMessage messageSend = factory.CreateInstance("D"); for (int i = 10000; i < 10100; i++) { messageSend.Fields.Add(new Field(i, "VALUE" + i)); } Assert.AreEqual(100, messageSend.Fields.Count, "Field Count Send"); engineConnect.Send(messageSend); IMessage messageReceive = null; bool received = false; DateTime timeout = DateTime.Now.AddSeconds(1); while (!received && timeout > DateTime.Now) { messageReceive = listenReceiveQueue.DequeueBlocked(100); if (messageReceive != null) { received = messageReceive.MsgSeqNum == messageSend.MsgSeqNum; } } Assert.IsTrue(received, "Receive message across engines"); Assert.AreEqual(messageSend.Fields.Count, messageReceive.Fields.Count, "Field Count Receive"); }
public void ResetMsgSeqNumInWithExistingMessagesShouldPass() { _path = Path.GetTempPath(); MessageFactoryFIX factory = new MessageFactoryFIX("FIX.4.2"); if (File.Exists(_path + "TEST__TEST__00010101.LOG")) { File.Delete(_path + "TEST__TEST__00010101.LOG"); } if (File.Exists(_path + "TEST__TEST__00010101.LDX")) { File.Delete(_path + "TEST__TEST__00010101.LDX"); } MessageCacheFlatFile cache; cache = Create(); for (int j = 1; j < 100; j++) { IMessage message = factory.CreateInstance("D"); message.Direction = MessageDirection.In; message.MsgSeqNum = j; for (int i = 10000; i < 10100; i++) { message.Fields.Add(new Field(i, "VALUE" + i)); } factory.Build(message); cache.AddMessage(message); } Assert.AreEqual(99, cache.MsgSeqNumIn); cache.Close(); cache = Create(); cache.ResetMsgSeqNumIn(200); Assert.AreEqual(199, cache.MsgSeqNumIn); cache.Close(); cache = Create(); Assert.AreEqual(199, cache.MsgSeqNumIn); cache.ResetMsgSeqNumIn(300); Assert.AreEqual(299, cache.MsgSeqNumIn); cache.Close(); cache = Create(); Assert.AreEqual(299, cache.MsgSeqNumIn); cache.Close(); }