public void CRCChecksumCalculatorTest()
        {
            ICRCChecksumCalculator _calculator = new CRCChecksumCalculator(new LookUpTable(0x1021));

            // Test to see if calculator properly calculates checksum.
            Assert.True(Enumerable.SequenceEqual(_calculator.CalculateChecksum(new byte[] { 0xD9 }), new byte[] { 0x5A, 0x54 }));
            Assert.True(Enumerable.SequenceEqual(_calculator.CalculateChecksum(new byte[] { 0xA5 }), new byte[] { 0xE5, 0x4F }));
            Assert.True(Enumerable.SequenceEqual(_calculator.CalculateChecksum(new byte[] { 0xE5, 0xAD, 0x8B }), new byte[] { 0x00, 0x00 }));
        }
Exemple #2
0
        public void CRCPacketBuilderTest()
        {
            var                    table      = new LookUpTable(0x1021);
            var                    calculator = new CRCChecksumCalculator(table);
            IPacketBuilder         _builder   = new CRCPacketBuilder(calculator);
            IXModemProtocolOptions _options   = new XModemProtocolOptions();

            RunTest(Tuple.Create(_builder, _options, 127));
            RunTest(Tuple.Create(_builder, _options, 129));
        }
        public void CRCChecksumValidatorTest()
        {
            ICRCChecksumCalculator calculator = new CRCChecksumCalculator(new LookUpTable(0x1021));
            ICRCChecksumValidator  validator  = new CRCChecksumValidator(calculator);

            validator.ChecksumReference = new byte[2];

            // Test to see if CRC validator properly identifies when a collection is valid and invalid.
            Assert.IsTrue(validator.ValidateChecksum(new byte[] { 0xE5, 0xAD, 0x8B }));
            Assert.IsFalse(validator.ValidateChecksum(new byte[] { 0xE5, 0xAA, 0x8B }));
        }
Exemple #4
0
        void TableChanged()
        {
            _cRCCalculator        = new CRCChecksumCalculator(_table);
            _crcChecksumValidator = new CRCChecksumValidator(_cRCCalculator);
            _CRCvalidator         = new PacketValidator(_crcChecksumValidator);

            _CRCPacketBuilder  = new CRCPacketBuilder(_cRCCalculator);
            _oneKPacketBuilder = new OneKPacketBuilder(_cRCCalculator);

            _oneKTool = new XModemTool {
                Builder   = _oneKPacketBuilder,
                Validator = _CRCvalidator
            };

            _CRCTool = new XModemTool {
                Builder   = _CRCPacketBuilder,
                Validator = _CRCvalidator
            };
        }