示例#1
0
        public void TestDfuSuffix()
        {
            // Arrange
            DfuSuffix dfuSuffix = new DfuSuffix()
            {
                FirmwareVersion = 0x1234, ProductId = 0x5678, VersionId = 0x90AB, Crc = 0xCDEF0123
            };
            // Act
            var ser       = dfuSuffix.Serialize();
            var firmware  = BinaryPrimitives.ReadUInt16LittleEndian(ser.AsSpan(0, 2));
            var productId = BinaryPrimitives.ReadUInt16LittleEndian(ser.AsSpan(2, 2));
            var versionId = BinaryPrimitives.ReadUInt16LittleEndian(ser.AsSpan(4, 2));
            var ufd       = BinaryPrimitives.ReadUInt16LittleEndian(ser.AsSpan(6, 2));

            // Assert
            Assert.Equal(dfuSuffix.FirmwareVersion, firmware);
            Assert.Equal(dfuSuffix.ProductId, productId);
            Assert.Equal(dfuSuffix.VersionId, versionId);
            Assert.Equal((ushort)0x011A, ufd);
            Assert.Equal(0x44, ser[10]);
            Assert.Equal(16, ser[11]);
            Assert.Equal(0x23, ser[12]);
            Assert.Equal(0xCD, ser[15]);
        }