Add Test for IPacket & PacketIdAttribute

This commit is contained in:
Timothy Schenk 2022-12-29 12:12:54 +01:00
parent 852d3adfdf
commit 3c7a83f7f5

View file

@ -0,0 +1,18 @@
using System.Reflection;
namespace Server.Tests;
public class PacketTests
{
[Fact]
public void TestPacketInheritingIPacket()
{
var allTypes = AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypes())
.Where(x => x.IsAssignableTo(typeof(Server.Packets.IPacket)) && x.IsClass);
if (!allTypes.Any())
true.Should().BeTrue("There have been no types found which can be checked");
else
allTypes.All(t => t.GetCustomAttributes<Server.Packets.PacketIdAttribute>().Any())
.Should().BeTrue("All types inheriting from IPacket should have the PacketIdAttribute attribute.");
}
}