public XModemToolFactory() { int polynomial = XModemProtocolConfigurationSection.Settings.Polynomial.Value; _table = new LookUpTable(polynomial); _normalChecksumValidator = new NormalChecksumValidator(_calculator); _validator = new PacketValidator(_normalChecksumValidator); _normalPacketBuilder = new NormalPacketBuilder(_calculator); _checksumTool = new XModemTool { Builder = _normalPacketBuilder, Validator = _validator }; TableChanged(); }
public void NormalChecksumValidatorTest() { byte validLSB = 0x46; byte invalidLSB = 0x95; var data = new byte[] { 0x00, 0x19, 0x88, 0x33, 0x72, }; var validatedMessage = new List <byte>(); validatedMessage.AddRange(data); validatedMessage.Add(validLSB); var invalidatedMessage = new List <byte>(); invalidatedMessage.AddRange(data); invalidatedMessage.Add(invalidLSB); IChecksumValidator validator = new NormalChecksumValidator(new NormalChecksumCalculator()); Assert.IsTrue(validator.ValidateChecksum(validatedMessage)); Assert.IsFalse(validator.ValidateChecksum(invalidatedMessage)); }