| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- using System.Linq;
- using MonoGame.Extended.Tilemaps;
- namespace MonoGame.Extended.Tests;
- public sealed class TilemapLayerTests
- {
- [Fact]
- public void GetLayer_WithExistingLayer_ReturnsLayer()
- {
- var tilemap = new Tilemap("test", 10, 10, 32, 32, TilemapOrientation.Orthogonal);
- var layer = new TilemapTileLayer("TestLayer", 10, 10, 32, 32);
- tilemap.Layers.Add(layer);
- var result = tilemap.Layers["TestLayer"];
- Assert.Equal(layer, result);
- }
- [Fact]
- public void GetLayer_WithNonExistingLayer_ReturnsNull()
- {
- var tilemap = new Tilemap("test", 10, 10, 32, 32, TilemapOrientation.Orthogonal);
- var hasLayer = tilemap.Layers.TryGetValue("NonExistent", out var result);
- Assert.False(hasLayer);
- Assert.Null(result);
- }
- [Fact]
- public void GetLayer_Generic_WithCorrectType_ReturnsLayer()
- {
- var tilemap = new Tilemap("test", 10, 10, 32, 32, TilemapOrientation.Orthogonal);
- var tileLayer = new TilemapTileLayer("TileLayer", 10, 10, 32, 32);
- tilemap.Layers.Add(tileLayer);
- var result = tilemap.Layers.GetLayer<TilemapTileLayer>("TileLayer");
- Assert.Equal(tileLayer, result);
- }
- [Fact]
- public void GetLayer_Generic_WithWrongType_ReturnsNull()
- {
- var tilemap = new Tilemap("test", 10, 10, 32, 32, TilemapOrientation.Orthogonal);
- var tileLayer = new TilemapTileLayer("TileLayer", 10, 10, 32, 32);
- tilemap.Layers.Add(tileLayer);
- var result = tilemap.Layers.GetLayer<TilemapObjectLayer>("TileLayer");
- Assert.Null(result);
- }
- [Fact]
- public void GetLayers_Generic_ReturnsLayersOfType()
- {
- var tilemap = new Tilemap("test", 10, 10, 32, 32, TilemapOrientation.Orthogonal);
- var tileLayer1 = new TilemapTileLayer("Tiles1", 10, 10, 32, 32);
- var tileLayer2 = new TilemapTileLayer("Tiles2", 10, 10, 32, 32);
- var objectLayer = new TilemapObjectLayer("Objects");
- tilemap.Layers.Add(tileLayer1);
- tilemap.Layers.Add(objectLayer);
- tilemap.Layers.Add(tileLayer2);
- var tileLayers = tilemap.Layers.GetLayers<TilemapTileLayer>().ToList();
- Assert.Equal(2, tileLayers.Count);
- Assert.Contains(tileLayer1, tileLayers);
- Assert.Contains(tileLayer2, tileLayers);
- // Assert.DoesNotContain(objectLayer, tileLayers);
- }
- [Fact]
- public void GetLayers_Generic_WithNoMatchingLayers_ReturnsEmpty()
- {
- var tilemap = new Tilemap("test", 10, 10, 32, 32, TilemapOrientation.Orthogonal);
- var tileLayer = new TilemapTileLayer("Tiles", 10, 10, 32, 32);
- tilemap.Layers.Add(tileLayer);
- var objectLayers = tilemap.Layers.GetLayers<TilemapObjectLayer>().ToList();
- Assert.Empty(objectLayers);
- }
- [Fact]
- public void GetLayers_Generic_WithMixedLayers_ReturnsOnlyMatchingType()
- {
- var tilemap = new Tilemap("test", 10, 10, 32, 32, TilemapOrientation.Orthogonal);
- var tileLayer = new TilemapTileLayer("Tiles", 10, 10, 32, 32);
- var objectLayer1 = new TilemapObjectLayer("Objects1");
- var objectLayer2 = new TilemapObjectLayer("Objects2");
- var groupLayer = new TilemapGroupLayer("Group");
- tilemap.Layers.Add(tileLayer);
- tilemap.Layers.Add(objectLayer1);
- tilemap.Layers.Add(groupLayer);
- tilemap.Layers.Add(objectLayer2);
- var objectLayers = tilemap.Layers.GetLayers<TilemapObjectLayer>().ToList();
- Assert.Equal(2, objectLayers.Count);
- Assert.Contains(objectLayer1, objectLayers);
- Assert.Contains(objectLayer2, objectLayers);
- }
- }
|