コード例 #1
0
        public void TestNewSpellbookContent()
        {
            Serial serial  = 0x1000;
            ushort graphic = 100;
            ushort offset  = 10;
            ulong  content = 0x123456789ABCDEF0;
            bool   opl     = ObjectPropertyList.Enabled;

            var expected = new NewSpellbookContent(serial, graphic, offset, content).Compile();

            using var ns               = PacketTestUtilities.CreateTestNetState();
            ns.ProtocolChanges         = ns.ProtocolChanges | ProtocolChanges.ContainerGridLines | ProtocolChanges.NewSpellbook;
            ObjectPropertyList.Enabled = true;
            ns.SendSpellbookContent(serial, graphic, offset, content);
            ObjectPropertyList.Enabled = opl;

            var result = ns.SendPipe.Reader.TryRead();

            AssertThat.Equal(result.Buffer[0].AsSpan(0), expected);
        }
コード例 #2
0
        public void TestNewSpellbookContent()
        {
            Serial serial  = 0x1000;
            ushort graphic = 100;
            ushort offset  = 10;
            ulong  content = 0x123456789ABCDEF0;

            var data = new NewSpellbookContent(serial, graphic, offset, content).Compile();

            Span <byte> expectedData = stackalloc byte[23];
            var         pos          = 0;

            expectedData.Write(ref pos, (byte)0xBF);   // Packet ID
            expectedData.Write(ref pos, (ushort)0x17); // Length
            expectedData.Write(ref pos, (ushort)0x1B); // Sub-packet
            expectedData.Write(ref pos, (ushort)0x1);  // Command
            expectedData.Write(ref pos, serial);
            expectedData.Write(ref pos, graphic);
            expectedData.Write(ref pos, offset);
            expectedData.WriteLE(ref pos, content);

            AssertThat.Equal(data, expectedData);
        }