~ruther/NosSmooth

0c7f2309b45f113ce50ae69ebc3b95d5af27083b — Rutherther 2 years ago 83fd7de
tests: fix tests for new version
M Tests/NosSmooth.Core.Tests/Commands/Walking/WalkCommandHandlerTests.cs => Tests/NosSmooth.Core.Tests/Commands/Walking/WalkCommandHandlerTests.cs +42 -9
@@ 30,7 30,17 @@ public class WalkCommandHandlerTests
    {
        var calledPetWalk = false;
        var calledPlayerWalk = false;
        var command = new WalkCommand(0, 0, new[] { 1, 2 }, 0);
        var command = new WalkCommand
        (
            0,
            0,
            new (int, short, short)[]
            {
                (1, 0, 0),
                (2, 0, 0)
            },
            0
        );
        var walkHandler = new WalkCommandHandler
        (
            new FakeNostaleClient


@@ 66,7 76,13 @@ public class WalkCommandHandlerTests
        (
            0,
            0,
            new[] { 2, 5, 7, 9 },
            new (int, short, short)[]
            {
                (2, 0, 0),
                (5, 0, 0),
                (7, 0, 0),
                (9, 0, 0),
            },
            0,
            true,
            false,


@@ 104,7 120,7 @@ public class WalkCommandHandlerTests
        (
            10,
            15,
            Array.Empty<int>(),
            null,
            0,
            true,
            false,


@@ 142,7 158,14 @@ public class WalkCommandHandlerTests
        (
            10,
            15,
            new[] { 1, 2, 5, 7, 8 },
            new (int, short, short)[]
            {
                (1, 0, 0),
                (2, 0, 0),
                (5, 0, 0),
                (7, 0, 0),
                (8, 0, 0),
            },
            0,
            true,
            false,


@@ 156,7 179,7 @@ public class WalkCommandHandlerTests
                {
                    if (c is PetWalkCommand petWalkCommand)
                    {
                        if (command.PetSelectors.Contains(petWalkCommand.PetSelector))
                        if (command.Pets?.Select(x => x.PetSelector).Contains(petWalkCommand.PetSelector) ?? false)
                        {
                            calledCount++;
                        }


@@ 171,7 194,7 @@ public class WalkCommandHandlerTests
        );

        await walkHandler.HandleCommand(command);
        Assert.Equal(command.PetSelectors.Length, calledCount);
        Assert.Equal(command.Pets?.Count ?? -1, calledCount);
    }

    /// <summary>


@@ 185,7 208,14 @@ public class WalkCommandHandlerTests
        (
            10,
            15,
            new[] { 1, 2, 5, 7, 8 },
            new (int, short, short)[]
            {
                (1, 0, 1),
                (2, 1, 0),
                (5, 0, 1),
                (7, 1, 0),
                (8, 0, 1),
            },
            0,
            true,
            false,


@@ 199,8 229,11 @@ public class WalkCommandHandlerTests
                {
                    if (c is PetWalkCommand petWalkCommand)
                    {
                        Assert.True((command.TargetX - petWalkCommand.TargetX) <= 3);
                        Assert.True((command.TargetY - petWalkCommand.TargetY) <= 3);
                        Assert.True
                        (
                            (petWalkCommand.TargetX == 0 && petWalkCommand.TargetY == 1)
                            || (petWalkCommand.TargetX == 1 && petWalkCommand.TargetY == 0)
                        );
                        Assert.Equal(command.ReturnDistanceTolerance, petWalkCommand.ReturnDistanceTolerance);
                    }
                    return Result.FromSuccess();

M Tests/NosSmooth.Packets.Tests/Converters/Packets/CListPacketConverterTests.cs => Tests/NosSmooth.Packets.Tests/Converters/Packets/CListPacketConverterTests.cs +64 -40
@@ 4,6 4,7 @@
//  Copyright (c) František Boháček. All rights reserved.
//  Licensed under the MIT license. See LICENSE file in the project root for full license information.

using System.Linq;
using Microsoft.Extensions.DependencyInjection;
using NosSmooth.Packets.Enums.Players;
using NosSmooth.Packets.Server.Login;


@@ 60,34 61,34 @@ public class CListPacketConverterTests
                null,
                4452,
                4468,
                4468,
                4840,
                4131,
                null,
                null
            ),
            1,
            99,
            string.Empty,
            1,
            1,
            new NullableWrapper<CListPetSubPacket>[]
            new OptionalWrapper<NullableWrapper<CListPetSubPacket>>[]
            {
                new CListPetSubPacket(0, 2105),
                new CListPetSubPacket(0, 319),
                new CListPetSubPacket(0, 2106),
                new CListPetSubPacket(0, 2107),
                new CListPetSubPacket(0, 2108),
                new CListPetSubPacket(0, 2100),
                new CListPetSubPacket(0, 2102),
                new CListPetSubPacket(0, 317),
                new CListPetSubPacket(null, null),
                new CListPetSubPacket(null, null),
                new CListPetSubPacket(null, null),
                new CListPetSubPacket(null, null),
                new CListPetSubPacket(null, null),
                new CListPetSubPacket(null, null),
                new CListPetSubPacket(null, null),
                new CListPetSubPacket(null, null),
                new CListPetSubPacket(null, null),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(0, 2105)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(0, 319)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(0, 2106)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(0, 2107)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(0, 2108)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(0, 2100)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(0, 2102)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(0, 317)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(null, null)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(null, null)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(null, null)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(null, null)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(null, null)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(null, null)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(null, null)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(null, null)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(null, null)),
            },
            0,
            0


@@ 110,7 111,7 @@ public class CListPacketConverterTests
    {
        var packetResult = _packetSerializer.Deserialize
        (
            "clist 2 KexpExp 0 1 0 9 0 0 22 0 -1.12.1.8.-1.-1.-1.-1.-1.-1 20  1 1 -1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1. 0 0",
            "clist 1 derfy 0 1 0 106 0 2 99 80 -1.-1.4452.4468.4840.4131.-1.-1 99  1 1 0.2105.0.319.0.2106.0.2107.0.2108.0.2100.0.2102.0.317.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1 0 0",
            PacketSource.Server
        );
        Assert.True(packetResult.IsSuccess);


@@ 138,33 139,56 @@ public class CListPacketConverterTests
                null,
                null
            ),
            1,
            99,
            string.Empty,
            1,
            1,
            new NullableWrapper<CListPetSubPacket>[]
            new OptionalWrapper<NullableWrapper<CListPetSubPacket>>[]
            {
                new CListPetSubPacket(0, 2105),
                new CListPetSubPacket(0, 319),
                new CListPetSubPacket(0, 2106),
                new CListPetSubPacket(0, 2107),
                new CListPetSubPacket(0, 2108),
                new CListPetSubPacket(0, 2100),
                new CListPetSubPacket(0, 2102),
                new CListPetSubPacket(0, 317),
                new CListPetSubPacket(null, null),
                new CListPetSubPacket(null, null),
                new CListPetSubPacket(null, null),
                new CListPetSubPacket(null, null),
                new CListPetSubPacket(null, null),
                new CListPetSubPacket(null, null),
                new CListPetSubPacket(null, null),
                new CListPetSubPacket(null, null),
                new CListPetSubPacket(null, null),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(0, 2105)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(0, 319)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(0, 2106)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(0, 2107)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(0, 2108)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(0, 2100)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(0, 2102)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(0, 317)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(null, null)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(null, null)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(null, null)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(null, null)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(null, null)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(null, null)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(null, null)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(null, null)),
                new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(null, null)),
            },
            0,
            0
        );
        Assert.Equal(expectedPacket, packetResult.Entity);
    }

    /// <summary>
    /// Tests that deserialization of pets list with optional values works correctly.
    /// </summary>
    [Fact]
    public void Converter_Deserialization_PresentFalseForNotPresent()
    {
        var packetResult = _packetSerializer.Deserialize
        (
            "clist 2 KexpExp 0 1 0 9 0 0 22 0 -1.12.1.8.-1.-1.-1.-1.-1.-1 20  1 1 -1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1.-1. 0 0",
            PacketSource.Server
        );
        Assert.True(packetResult.IsSuccess);
        var packet = (CListPacket)packetResult.Entity;
        Assert.Equal(27, packet.PetsSubPacket.Count);

        Assert.False(packet.PetsSubPacket.Last().Present);
        for (var i = 0; i < 26; i++)
        {
            Assert.True(packet.PetsSubPacket[i].Present);
            Assert.True(packet.PetsSubPacket[i].Value.Value is null);
        }
    }
}
\ No newline at end of file

M Tests/NosSmooth.Packets.Tests/Converters/Packets/InPacketConverterTests.cs => Tests/NosSmooth.Packets.Tests/Converters/Packets/InPacketConverterTests.cs +3 -2
@@ 13,6 13,7 @@ using NosSmooth.Packets.Server.Character;
using NosSmooth.Packets.Server.Maps;
using NosSmooth.Packets.Server.Weapons;
using NosSmooth.PacketSerializer;
using NosSmooth.PacketSerializer.Abstractions;
using NosSmooth.PacketSerializer.Abstractions.Attributes;
using NosSmooth.PacketSerializer.Extensions;
using NosSmooth.PacketSerializer.Packets;


@@ 91,7 92,7 @@ public class InPacketConverterTests
                0,
                new UpgradeRareSubPacket(10, 8),
                new UpgradeRareSubPacket(10, 8),
                new FamilySubPacket(null, null),
                new NullableWrapper<FamilySubPacket>(null),
                null,
                26,
                false,


@@ 174,7 175,7 @@ public class InPacketConverterTests
                0,
                new UpgradeRareSubPacket(10, 8),
                new UpgradeRareSubPacket(10, 8),
                new FamilySubPacket("-1", null),
                new NullableWrapper<FamilySubPacket>(null),
                null,
                26,
                false,