Exemplo n.º 1
0
    public void GamestateAttemptApplyPlayerPacketTest()
    {
        byte actorNumber = 1;
        GamestateCommitTestHelper <PlayerEntry> testHelper = new GamestateCommitTestHelper <PlayerEntry>(actorNumber);
        GamestateTable <PlayerEntry>            players    = testHelper.TestTable(GamestateTracker.Table.Players);
        GamestateRandomTestingUnit generator = new GamestateRandomTestingUnit(902);

        for (short i = 0; i < 100; i++)
        {
            PlayerEntry playerEntry = players.Create(i);
            generator.RandomisePlayerEntry(playerEntry);
            playerEntry.Commit();

            GamestatePacket packetA  = testHelper.commitedPackets[0];
            bool            attemptA = testHelper.AttemptApply(packetA);

            GamestatePacket packetB = generator.GetRandomPacket();
            packetB.id             = i;
            packetB.packetType     = GamestatePacket.PacketType.Update;
            packetB.revisionNumber = packetA.revisionNumber;
            bool attemptB = testHelper.AttemptApply(packetB);

            GamestatePacket packetC = generator.GetRandomPacket();
            packetC.id             = i;
            packetC.packetType     = GamestatePacket.PacketType.Update;
            packetC.revisionNumber = packetA.revisionNumber;
            bool attemptC = testHelper.AttemptApply(packetC);

            Assert.That(attemptA, Is.EqualTo(true));
            Assert.That(attemptB, Is.EqualTo(false));
            Assert.That(attemptC, Is.EqualTo(false));

            playerEntry = players.Get(i);
            GamestateAssertionUnit.AssertPacketApplied(playerEntry, packetA);
            playerEntry.Release();

            testHelper.commitedPackets.Clear();
        }
    }
Exemplo n.º 2
0
    public void GamestatePacketSerializeTestC()
    {
        GamestateRandomTestingUnit generator = new GamestateRandomTestingUnit(5);

        for (int i = 0; i < 100; i++)
        {
            GamestatePacket gamestatePacket = generator.GetRandomPacket();

            byte[] serializedPacket = GamestatePacket.Serialize(gamestatePacket);

            Assert.That(serializedPacket, Is.Not.Null);
            Assert.That(serializedPacket, Is.Not.Empty);

            GamestatePacket newPacket = GamestatePacket.Deserialize(serializedPacket) as GamestatePacket;

            Assert.That(newPacket, Is.Not.Null);

            GamestateAssertionUnit.AssertPacketEquality(gamestatePacket, newPacket);
        }
    }