@@ 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.Collections.Generic;
using System.Linq;
using Microsoft.Extensions.DependencyInjection;
using NosSmooth.Packets.Enums.Players;
@@ 13,6 14,7 @@ using NosSmooth.PacketSerializer.Abstractions;
using NosSmooth.PacketSerializer.Abstractions.Attributes;
using NosSmooth.PacketSerializer.Extensions;
using NosSmooth.PacketSerializer.Packets;
+using Shouldly;
using Xunit;
namespace NosSmooth.Packets.Tests.Converters.Packets;
@@ 80,15 82,24 @@ public class CListPacketConverterTests
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)),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
},
0,
0
@@ 114,7 125,7 @@ public class CListPacketConverterTests
"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);
+ packetResult.IsSuccess.ShouldBeTrue();
var expectedPacket = new CListPacket
(
@@ 143,7 154,7 @@ public class CListPacketConverterTests
string.Empty,
1,
1,
- new OptionalWrapper<NullableWrapper<CListPetSubPacket>>[]
+ new List<OptionalWrapper<NullableWrapper<CListPetSubPacket>>>(new OptionalWrapper<NullableWrapper<CListPetSubPacket>>[]
{
new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(0, 2105)),
new NullableWrapper<CListPetSubPacket>(new CListPetSubPacket(0, 319)),
@@ 153,20 164,41 @@ public class CListPacketConverterTests
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)),
- },
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ new NullableWrapper<CListPetSubPacket>(null),
+ }),
0,
0
);
- Assert.Equal(expectedPacket, packetResult.Entity);
+ var packet = (CListPacket)packetResult.Entity;
+ packet.Class.ShouldBe(expectedPacket.Class);
+ packet.Level.ShouldBe(expectedPacket.Level);
+ packet.Name.ShouldBe(expectedPacket.Name);
+ packet.Sex.ShouldBe(expectedPacket.Sex);
+ packet.Slot.ShouldBe(expectedPacket.Slot);
+ packet.HairColor.ShouldBe(expectedPacket.HairColor);
+ packet.HatDesign.ShouldBe(expectedPacket.HatDesign);
+ packet.HeroLevel.ShouldBe(expectedPacket.HeroLevel);
+ packet.JobLevel.ShouldBe(expectedPacket.JobLevel);
+ packet.HairStyle.ShouldBe(expectedPacket.HairStyle);
+ packet.EquipmentSubPacket.ShouldBe(expectedPacket.EquipmentSubPacket);
+ packet.PetsSubPacket.ShouldBe(expectedPacket.PetsSubPacket);
}
/// <summary>
@@ 17,6 17,7 @@ using NosSmooth.PacketSerializer.Abstractions;
using NosSmooth.PacketSerializer.Abstractions.Attributes;
using NosSmooth.PacketSerializer.Extensions;
using NosSmooth.PacketSerializer.Packets;
+using Shouldly;
using Xunit;
namespace NosSmooth.Packets.Tests.Converters.Packets;
@@ 111,8 112,52 @@ public class InPacketConverterTests
null,
null
);
- Assert.True(result.IsSuccess);
- Assert.Equal(expectedPacket, result.Entity);
+ result.IsSuccess.ShouldBeTrue();
+ var packet = (InPacket)result.Entity;
+ packet.EntityType.ShouldBe(expectedPacket.EntityType);
+ packet.EntityId.ShouldBe(expectedPacket.EntityId);
+ packet.ItemSubPacket.ShouldBe(expectedPacket.ItemSubPacket);
+ packet.Direction.ShouldBe(expectedPacket.Direction);
+ packet.Name.ShouldBe(expectedPacket.Name);
+ packet.PositionX.ShouldBe(expectedPacket.PositionX);
+ packet.PositionY.ShouldBe(expectedPacket.PositionY);
+ packet.VNum.ShouldBe(expectedPacket.VNum);
+ packet.NonPlayerSubPacket.ShouldBe(expectedPacket.NonPlayerSubPacket);
+
+ packet.PlayerSubPacket.ShouldNotBeNull();
+ var playerSubPacket = packet.PlayerSubPacket!;
+ var expectedSubPacket = packet.PlayerSubPacket!;
+
+ playerSubPacket.Level.ShouldBe(expectedSubPacket.Level);
+ playerSubPacket.FamilySubPacket.ShouldBe(expectedSubPacket.FamilySubPacket);
+ playerSubPacket.HeroLevel.ShouldBe(expectedSubPacket.HeroLevel);
+ playerSubPacket.Size.ShouldBe(expectedSubPacket.Size);
+ playerSubPacket.FamilyLevel.ShouldBe(expectedSubPacket.FamilyLevel);
+ playerSubPacket.MorphUpgrade.ShouldBe(expectedSubPacket.MorphUpgrade);
+ playerSubPacket.MorphUpgrade2.ShouldBe(expectedSubPacket.MorphUpgrade2);
+ playerSubPacket.Authority.ShouldBe(expectedSubPacket.Authority);
+ playerSubPacket.Class.ShouldBe(expectedSubPacket.Class);
+ playerSubPacket.Compliment.ShouldBe(expectedSubPacket.Compliment);
+ playerSubPacket.Equipment.ShouldBe(expectedSubPacket.Equipment);
+ playerSubPacket.Faction.ShouldBe(expectedSubPacket.Faction);
+ playerSubPacket.Fairy.ShouldBe(expectedSubPacket.Fairy);
+ playerSubPacket.Sex.ShouldBe(expectedSubPacket.Sex);
+ playerSubPacket.ArenaWinner.ShouldBe(expectedSubPacket.ArenaWinner);
+ playerSubPacket.FairyElement.ShouldBe(expectedSubPacket.FairyElement);
+ playerSubPacket.FamilyIcons.ShouldBe(expectedSubPacket.FamilyIcons);
+ playerSubPacket.FamilyName.ShouldBe(expectedSubPacket.FamilyName);
+ playerSubPacket.GroupId.ShouldBe(expectedSubPacket.GroupId);
+ playerSubPacket.HairColor.ShouldBe(expectedSubPacket.HairColor);
+ playerSubPacket.HairStyle.ShouldBe(expectedSubPacket.HairStyle);
+ playerSubPacket.HpPercentage.ShouldBe(expectedSubPacket.HpPercentage);
+ playerSubPacket.IsInvisible.ShouldBe(expectedSubPacket.IsInvisible);
+ playerSubPacket.IsSitting.ShouldBe(expectedSubPacket.IsSitting);
+ playerSubPacket.MpPercentage.ShouldBe(expectedSubPacket.MpPercentage);
+ playerSubPacket.ReputationIcon.ShouldBe(expectedSubPacket.ReputationIcon);
+ playerSubPacket.FamilySubPacket.ShouldBe(expectedSubPacket.FamilySubPacket);
+ playerSubPacket.ArmorUpgradeRareSubPacket.ShouldBe(expectedSubPacket.ArmorUpgradeRareSubPacket);
+ playerSubPacket.WeaponUpgradeRareSubPacket.ShouldBe(expectedSubPacket.WeaponUpgradeRareSubPacket);
+ playerSubPacket.MorphVNum.ShouldBe(expectedSubPacket.MorphVNum);
}
/// <summary>
@@ 235,7 280,7 @@ public class InPacketConverterTests
null,
null,
"0",
- null,
+ "-1",
"0",
0,
0,
@@ 250,7 295,8 @@ public class InPacketConverterTests
);
Assert.True(result.IsSuccess);
- Assert.Equal(expectedPacket, result.Entity);
+ result.IsSuccess.ShouldBeTrue();
+ result.Entity.ShouldBe(expectedPacket);
}
/// <summary>
@@ 57,7 57,9 @@ public class PinitPacketConverterTest
83,
"Kliff",
null,
- 319
+ 319,
+ 1,
+ 0
),
null
),
@@ 71,7 73,9 @@ public class PinitPacketConverterTest
83,
"@",
null,
- 2105
+ 2105,
+ 0,
+ 0
),
null
)
@@ 110,7 114,9 @@ public class PinitPacketConverterTest
83,
"Kliff",
null,
- 319
+ 319,
+ 1,
+ 0
),
null
),
@@ 128,7 134,9 @@ public class PinitPacketConverterTest
83,
"@",
null,
- 2105
+ 2105,
+ 0,
+ 0
),
null
),