mirror of
https://github.com/dcronqvist/DotTiled.git
synced 2025-02-06 09:22:49 +02:00
78 lines
1.6 KiB
C#
78 lines
1.6 KiB
C#
using DotTiled.Serialization;
|
|
|
|
namespace DotTiled.Tests;
|
|
|
|
public class DefaultResourceCacheTests
|
|
{
|
|
[Fact]
|
|
public void GetTemplate_TemplateDoesNotExist_ReturnsEmptyOptional()
|
|
{
|
|
// Arrange
|
|
var cache = new DefaultResourceCache();
|
|
var path = "template.tsx";
|
|
|
|
// Act
|
|
var result = cache.GetTemplate(path);
|
|
|
|
// Assert
|
|
Assert.False(result.HasValue);
|
|
}
|
|
|
|
[Fact]
|
|
public void GetTemplate_TemplateHasBeenInserted_ReturnsTemplate()
|
|
{
|
|
// Arrange
|
|
var cache = new DefaultResourceCache();
|
|
var path = "template.tsx";
|
|
var template = new Template
|
|
{
|
|
Object = new EllipseObject { }
|
|
};
|
|
|
|
// Act
|
|
cache.InsertTemplate(path, template);
|
|
var result = cache.GetTemplate(path);
|
|
|
|
// Assert
|
|
Assert.True(result.HasValue);
|
|
Assert.Same(template, result.Value);
|
|
}
|
|
|
|
[Fact]
|
|
public void GetTileset_TilesetDoesNotExist_ReturnsEmptyOptional()
|
|
{
|
|
// Arrange
|
|
var cache = new DefaultResourceCache();
|
|
var path = "tileset.tsx";
|
|
|
|
// Act
|
|
var result = cache.GetTileset(path);
|
|
|
|
// Assert
|
|
Assert.False(result.HasValue);
|
|
}
|
|
|
|
[Fact]
|
|
public void GetTileset_TilesetHasBeenInserted_ReturnsTileset()
|
|
{
|
|
// Arrange
|
|
var cache = new DefaultResourceCache();
|
|
var path = "tileset.tsx";
|
|
var tileset = new Tileset
|
|
{
|
|
Name = "Tileset",
|
|
TileWidth = 32,
|
|
TileHeight = 32,
|
|
TileCount = 1,
|
|
Columns = 1
|
|
};
|
|
|
|
// Act
|
|
cache.InsertTileset(path, tileset);
|
|
var result = cache.GetTileset(path);
|
|
|
|
// Assert
|
|
Assert.True(result.HasValue);
|
|
Assert.Same(tileset, result.Value);
|
|
}
|
|
}
|