using System.Text;
using System.Xml.Serialization;
using DotTiled;
namespace DotTiled.Tests;
public class MapTests
{
[Fact]
public void ReadXml_Always_SetsRequiredAttributes()
{
// Arrange
var xml =
"""
""";
var xmlStream = new MemoryStream(Encoding.UTF8.GetBytes(xml));
// Act
var map = Map.LoadFromStream(xmlStream);
// Assert
// Assert all required properties are set
Assert.Equal("1.2", map.Version);
Assert.Equal("class", map.Class);
Assert.Equal(Orientation.Orthogonal, map.Orientation);
Assert.Equal(RenderOrder.RightDown, map.RenderOrder);
Assert.Equal(5, map.CompressionLevel);
Assert.Equal(10u, map.Width);
Assert.Equal(10u, map.Height);
Assert.Equal(32u, map.TileWidth);
Assert.Equal(32u, map.TileHeight);
Assert.Equal(0.5f, map.ParallaxOriginX);
Assert.Equal(0.5f, map.ParallaxOriginY);
Assert.Equal(1u, map.NextLayerId);
Assert.Equal(1u, map.NextObjectId);
Assert.True(map.Infinite);
// Assert all optional properties are set to their default values
Assert.Null(map.TiledVersion);
Assert.Null(map.HexSideLength);
Assert.Null(map.StaggerAxis);
Assert.Null(map.StaggerIndex);
Assert.Null(map.BackgroundColor);
}
public static IEnumerable