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-09-01 22:03:05 +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);
|
2024-08-12 22:00:59 +02:00
|
|
|
AssertEqual(expected.Encoding, actual.Encoding, nameof(Data.Encoding));
|
|
|
|
AssertEqual(expected.Compression, actual.Compression, nameof(Data.Compression));
|
2024-07-26 00:37:47 +02:00
|
|
|
|
|
|
|
// Data
|
2024-08-12 22:00:59 +02:00
|
|
|
AssertEqual(expected.GlobalTileIDs, actual.GlobalTileIDs, nameof(Data.GlobalTileIDs));
|
|
|
|
AssertEqual(expected.FlippingFlags, actual.FlippingFlags, nameof(Data.FlippingFlags));
|
2024-09-01 22:09:03 +02:00
|
|
|
AssertOptionalsEqual(expected.Chunks, actual.Chunks, nameof(Data.Chunks), (a, b) => AssertListOrdered(a, b, nameof(Chunk), AssertChunk));
|
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
|
2024-08-12 22:00:59 +02:00
|
|
|
AssertEqual(expected.X, actual.X, nameof(Chunk.X));
|
|
|
|
AssertEqual(expected.Y, actual.Y, nameof(Chunk.Y));
|
|
|
|
AssertEqual(expected.Width, actual.Width, nameof(Chunk.Width));
|
|
|
|
AssertEqual(expected.Height, actual.Height, nameof(Chunk.Height));
|
2024-07-26 00:37:47 +02:00
|
|
|
|
|
|
|
// Data
|
2024-08-12 22:00:59 +02:00
|
|
|
AssertEqual(expected.GlobalTileIDs, actual.GlobalTileIDs, nameof(Chunk.GlobalTileIDs));
|
|
|
|
AssertEqual(expected.FlippingFlags, actual.FlippingFlags, nameof(Chunk.FlippingFlags));
|
2024-07-26 00:37:47 +02:00
|
|
|
}
|
|
|
|
}
|