2024-07-26 00:37:47 +02:00
|
|
|
namespace DotTiled.Tests;
|
|
|
|
|
2024-08-03 14:26:09 +02:00
|
|
|
public static partial class DotTiledAssert
|
2024-07-26 00:37:47 +02:00
|
|
|
{
|
2024-08-03 14:26:09 +02:00
|
|
|
internal static void AssertData(Data? expected, Data? actual)
|
2024-07-26 00:37:47 +02:00
|
|
|
{
|
|
|
|
if (expected is null)
|
|
|
|
{
|
|
|
|
Assert.Null(actual);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Attributes
|
|
|
|
Assert.NotNull(actual);
|
|
|
|
Assert.Equal(expected.Encoding, actual.Encoding);
|
|
|
|
Assert.Equal(expected.Compression, actual.Compression);
|
|
|
|
|
|
|
|
// Data
|
|
|
|
Assert.Equal(expected.GlobalTileIDs, actual.GlobalTileIDs);
|
|
|
|
Assert.Equal(expected.FlippingFlags, actual.FlippingFlags);
|
|
|
|
|
|
|
|
if (expected.Chunks is not null)
|
|
|
|
{
|
|
|
|
Assert.NotNull(actual.Chunks);
|
|
|
|
Assert.Equal(expected.Chunks.Length, actual.Chunks.Length);
|
|
|
|
for (var i = 0; i < expected.Chunks.Length; i++)
|
2024-08-03 14:26:09 +02:00
|
|
|
AssertChunk(expected.Chunks[i], actual.Chunks[i]);
|
2024-07-26 00:37:47 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-08-03 14:26:09 +02:00
|
|
|
private static void AssertChunk(Chunk expected, Chunk actual)
|
2024-07-26 00:37:47 +02:00
|
|
|
{
|
|
|
|
// Attributes
|
|
|
|
Assert.Equal(expected.X, actual.X);
|
|
|
|
Assert.Equal(expected.Y, actual.Y);
|
|
|
|
Assert.Equal(expected.Width, actual.Width);
|
|
|
|
Assert.Equal(expected.Height, actual.Height);
|
|
|
|
|
|
|
|
// Data
|
|
|
|
Assert.Equal(expected.GlobalTileIDs, actual.GlobalTileIDs);
|
|
|
|
Assert.Equal(expected.FlippingFlags, actual.FlippingFlags);
|
|
|
|
}
|
|
|
|
}
|