예제 #1
0
        public void TestAS2805Message()
        {
            // Raw bytes for an AS2805 message
            byte[] message = new byte[]
            {
                0x02, 0x00,
                0x80, 0x38, 0x00, 0x01, 0x02, 0xC1, 0x00, 0x00,
                0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x65, 0x43, 0x21,
                0x13, 0x58, 0x40,
                0x04, 0x19,
                0x31, 0x31, 0x00, 0x08, 0x76, 0x54, 0x32, 0x1F,
                0x30, 0x30,
                0x38, 0x34, 0x30, 0x37, 0x31, 0x32, 0x33, 0x34,
                0x37, 0x37, 0x37, 0x30, 0x30, 0x30, 0x31, 0x32, 0x33, 0x32, 0x31, 0x32, 0x33, 0x32, 0x31,
                0x30, 0x30, 0x38,
                0x8C, 0xA0, 0xA6, 0x42, 0x0C, 0x5C, 0xA6, 0x28,
                0x01, 0x23
            };

            // Parse the bytes into an instance of the message class
            As2805Message m = new As2805Message(message);
            // Display the parsed fields

            var re = m.ToString();

            Console.WriteLine(re);

            Console.WriteLine("Press a key");
            Console.ReadKey();
        }
		public void MessageParser_CanParse_RawByteArray()
		{
			byte[] message = new byte[] {
			  0x02, 0x00,
			  0x80, 0x38, 0x00, 0x01, 0x02, 0xC1, 0x00, 0x00,
			  0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			  0x65, 0x43, 0x21,
			  0x13, 0x58, 0x40,
			  0x04, 0x19,
			  0x31, 0x31, 0x00, 0x08, 0x76, 0x54, 0x32, 0x1F,
			  0x30, 0x30,
			  0x38, 0x34, 0x30, 0x37, 0x31, 0x32, 0x33, 0x34,
			  0x37, 0x37, 0x37, 0x30, 0x30, 0x30, 0x31, 0x32, 0x33, 0x32, 0x31, 0x32, 0x33, 0x32, 0x31,
			  0x30, 0x30, 0x38,
			  0x8C, 0xA0, 0xA6, 0x42, 0x0C, 0x5C, 0xA6, 0x28,
			  0x01, 0x23};

			As2805Message as2805Message = new As2805Message(message);

			as2805Message.de11_STAN.Should().Be("654321");
		}