예제 #1
0
        public void Test_Decode_With_Short_Packet_Throws_Exception()
        {
            int id = 25;
            byte[] data = new byte[] { 5, 0, 0, 0, (byte)PacketType.Null, (byte)id, 0, 0 };

            NullMessage message = new NullMessage();

            Assert.Throws<InsufficientDataException>(() => message.Decode(data));
        }
예제 #2
0
        public void Test_Decode_With_Incorrect_Packet_Type_Throws_Exception()
        {
            int id = 212;
            byte[] data = new byte[] { 5, 0, 0, 0, (byte)PacketType.Ok, (byte)id, 0, 0, 0 };

            NullMessage message = new NullMessage();

            Assert.Throws<InvalidMessageTypeException>(() => message.Decode(data));
        }
예제 #3
0
        public void Test_Can_Decode_Valid_Packet()
        {
            int id = 25;
            byte[] data = new byte[] { 5, 0, 0, 0, (byte)PacketType.Null, (byte)id, 0, 0, 0 };

            NullMessage message = new NullMessage();
            message.Decode(data);

            Assert.Equal(id, message.MessageId);
            Assert.Equal(PacketType.Null, message.Type);
        }
예제 #4
0
        public void Test_Command_Writes_Ok_Message()
        {
            var nullMessage = new NullMessage();
            nullMessage.MessageId = 43;

            var command = new NullCommand();

            MemoryStream stream = new MemoryStream();

            command.Execute(nullMessage, stream);

            var sentMessage = new OkMessage();

            sentMessage.Decode(stream.GetBuffer());

            Assert.Equal(nullMessage.MessageId, sentMessage.MessageId);
        }
예제 #5
0
        public void Test_Decode_With_Null_data_Throws_Exception()
        {
            NullMessage message = new NullMessage();

            Assert.Throws<ArgumentNullException>(() => message.Decode(null));
        }