public void ReadLogonMessage() { // Arrange var rawMessage = Encoding.ASCII.GetBytes("8=FIX.4.49=7535=A34=109249=TESTBUY152=20180920-18:24:59.64356=TESTSELL198=0108=6010=178"); var sequence = new ReadOnlySequence <byte>(rawMessage); var reader = new FixMessageReader(); var consumed = new SequencePosition(); var examined = new SequencePosition(); // Act var result = reader.TryParseMessage(sequence, ref consumed, ref examined, out var fixMessage); // Assert Assert.True(result); Assert.Equal(10, fixMessage.Fields.Length); Assert.Single(fixMessage.Fields.Where(f => f.Tag == 8)); Assert.Single(fixMessage.Fields.Where(f => f.Tag == 9)); Assert.Single(fixMessage.Fields.Where(f => f.Tag == 35)); Assert.Single(fixMessage.Fields.Where(f => f.Tag == 34)); Assert.Single(fixMessage.Fields.Where(f => f.Tag == 49)); Assert.Single(fixMessage.Fields.Where(f => f.Tag == 52)); Assert.Single(fixMessage.Fields.Where(f => f.Tag == 56)); Assert.Single(fixMessage.Fields.Where(f => f.Tag == 98)); Assert.Single(fixMessage.Fields.Where(f => f.Tag == 108)); Assert.Single(fixMessage.Fields.Where(f => f.Tag == 10)); Assert.Equal("FIX.4.4", fixMessage.Fields.First(f => f.Tag == 8).Value); Assert.Equal(75, fixMessage.Fields.First(f => f.Tag == 9).Value); Assert.Equal("A", fixMessage.Fields.First(f => f.Tag == 35).Value); Assert.Equal(1092, fixMessage.Fields.First(f => f.Tag == 34).Value); Assert.Equal("TESTBUY1", fixMessage.Fields.First(f => f.Tag == 49).Value); }
public void Prepare() { _byte = Encoding.UTF8.GetBytes(NewOrderSingle); _zerofix = new FixMessageReader(); _quickfixn = new Parser(); _msg = new Message(); }
public ZerofixSession(ZerofixAcceptor acceptor, Func <Session> sessionFact) : base(acceptor) { _session = sessionFact(); _session.SetTransport(this); _parser = new FixMessageReader(); }