public void GivenMessageContext_SetupTwice_ResetsProperties() { var message = new TestFixMessageBuilder(TestFixMessageBuilder.DefaultBody).Build(); var uut = new FixMessageContext(); uut.CreatedParentTypes.Add(1); uut.RepeatingGroupCounters.Add(1, new FixMessageContext.RepeatingCounter(1)); var result = uut.Setup(message.AsSpan(), MessageEncoding.JIS).Setup(message.AsSpan(), MessageEncoding.EUC); Assert.NotEqual(-1, result.ChecksumTagStartIndex); Assert.NotEqual(-1, result.LengthTagStartIndex); Assert.NotEqual(-1, result.MessageTypeTagStartIndex); Assert.Equal(MessageEncoding.EUC, result.EncodedFields); Assert.Empty(result.RepeatingGroupCounters); Assert.Empty(result.CreatedParentTypes); }
public void GivenIncorrectLength_Validate_ReturnsFalse() { var message = new TestFixMessageBuilder(TestFixMessageBuilder.DefaultBody).AddLength("023").Build(); var uut = new LengthValidator(IntegerToFixConverter.Instance); var msgContext = new FixMessageContext().Setup(message); var result = uut.IsValid(message.AsSpan(), msgContext); Assert.False(result); }
public void GivenNoChecksum_Validate_ReturnsFalse() { var message = new TestFixMessageBuilder(TestFixMessageBuilder.DefaultBody).AddChecksum("3").Build(); var uut = new ChecksumValidator(IntegerToFixConverter.Instance); var msgContext = new FixMessageContext().Setup(message); var result = uut.IsValid(message.AsSpan(), msgContext); Assert.False(result); }
public void GivenCorrectLength_Validate_ReturnsTrue(string input) { byte[] message = new TestFixMessageBuilder(input).Build(); var uut = new LengthValidator(IntegerToFixConverter.Instance); var msgContext = new FixMessageContext().Setup(message); var result = uut.IsValid(message.AsSpan(), msgContext); Assert.True(result); }
public void GivenFix5WithNoSenderCompId_Validate_ReturnsFalse() { var message = new TestFixMessageBuilder("35=A|56=CLIENT|34=177|52=20090107-18:15:16|98=0|108=30|").AddBeginString(SupportedFixVersion.Fix50).Build(); var uut = new FixVersionValidator(); var msgContext = new FixMessageContext().Setup(message); var result = uut.IsValid(message.AsSpan(), msgContext); Assert.False(result); }
public void GivenNoBeginString_Validate_ReturnsFalse() { var message = new TestFixMessageBuilder(TestFixMessageBuilder.DefaultBody).AddBeginString(string.Empty).Build(); var uut = new FixVersionValidator(); var msgContext = new FixMessageContext().Setup(message); var result = uut.IsValid(message.AsSpan(), msgContext); Assert.False(result); }
public void GivenValidFixVersion_Validate_ReturnsTrue(string input) { byte[] message = new TestFixMessageBuilder(input).Build(); var uut = new FixVersionValidator(); var msgContext = new FixMessageContext().Setup(message); var result = uut.IsValid(message.AsSpan(), msgContext); Assert.True(result); }
public void GivenSampleMessage_Setup_ReturnsMessageContext() { var message = new TestFixMessageBuilder(TestFixMessageBuilder.DefaultBody).Build(); var uut = new FixMessageContext(); var result = uut.Setup(message.AsSpan()); Assert.NotEqual(-1, result.ChecksumTagStartIndex); Assert.NotEqual(-1, result.LengthTagStartIndex); Assert.NotEqual(-1, result.MessageTypeTagStartIndex); }
public void GivenEncoding_Setup_ReturnsMessageContext() { var message = new TestFixMessageBuilder(TestFixMessageBuilder.DefaultBody).Build(); var uut = new FixMessageContext(); var result = uut.Setup(message.AsSpan(), MessageEncoding.JIS); Assert.NotEqual(-1, result.ChecksumTagStartIndex); Assert.NotEqual(-1, result.LengthTagStartIndex); Assert.NotEqual(-1, result.MessageTypeTagStartIndex); Assert.Equal(MessageEncoding.JIS, result.EncodedFields); }
public void GivenCorrectChecksum_Validate_ReturnsTrue(string input) { byte[] message = new TestFixMessageBuilder(input).Build(out byte checksumValue, out int checksumStart); var uut = new ChecksumValidator(IntegerToFixConverter.Instance); var msgContext = new FixMessageContext() { ChecksumValue = checksumValue, ChecksumTagStartIndex = checksumStart }; var result = uut.IsValid(message.AsSpan(), msgContext); Assert.True(result); }