예제 #1
0
        public void Build_Valid_Continuation_Control_Frame()
        {
            const string expectedByteAsString = "00000000";
            var expectedByte = Convert.ToByte(expectedByteAsString, 2);
            var actualByte = new Hybi10ControlFrameBuilder().WithOpcode(Opcode.Continuation).Build();

            actualByte.ShouldEqual(expectedByte);
        }
예제 #2
0
        public void Build_All_Final_Valid_Opcode_Control_Frames()
        {
            var expectedBytesAsStrings = new Dictionary<string, Opcode>
                                             {
                                                 {"10000001", Opcode.Text},
                                                 {"01000001", Opcode.Binary},
                                                 {"00010001", Opcode.ConnectionClose},
                                                 {"00000000", Opcode.Continuation}, // always has IsFinal bit set to 0
                                                 {"10010001", Opcode.Ping},
                                                 {"01010001", Opcode.Pong},
                                             };

            foreach (var expectedBytesAsString in expectedBytesAsStrings)
            {
                var expectedByte = Convert.ToByte(expectedBytesAsString.Key, 2);
                var builder = new Hybi10ControlFrameBuilder();

                var actualByte = builder
                    .WithOpcode(expectedBytesAsString.Value)
                    .Build();

                actualByte.ShouldEqual(expectedByte);
            }
        }