feat(proj): init
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
using TileServer.Domain;
|
||||
using TileServer.Domain.Tiles;
|
||||
|
||||
namespace TileServer.UnitTests;
|
||||
|
||||
public sealed class TileCoordinateTests
|
||||
{
|
||||
[Fact]
|
||||
public void Ancestor_ShiftsToParentZoom()
|
||||
{
|
||||
var child = new TileCoordinate(3, 5, 6);
|
||||
Assert.Equal(new TileCoordinate(1, 1, 1), child.Ancestor(1));
|
||||
Assert.Equal(child, child.Ancestor(3));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ToTmsY_FlipsXyzOrigin()
|
||||
{
|
||||
var tile = new TileCoordinate(3, 1, 0);
|
||||
Assert.Equal(7, tile.ToTmsY());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ClampMaxZoom_CapsAtPlanetilerLimit()
|
||||
{
|
||||
Assert.Equal(15, PlanetilerLimits.ClampMaxZoom(18));
|
||||
Assert.Equal(15, PlanetilerLimits.ClampMaxZoom(15));
|
||||
Assert.Equal(0, PlanetilerLimits.ClampMaxZoom(-1));
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData(0, 0, 0, true)]
|
||||
[InlineData(1, 2, 0, false)]
|
||||
[InlineData(-1, 0, 0, false)]
|
||||
public void IsValid_RespectsZoomBounds(int z, int x, int y, bool expected)
|
||||
=> Assert.Equal(expected, new TileCoordinate(z, x, y).IsValid);
|
||||
}
|
||||
|
||||
public sealed class ResourceNameTests
|
||||
{
|
||||
[Theory]
|
||||
[InlineData("central-fed-district", true)]
|
||||
[InlineData("osm-bright", true)]
|
||||
[InlineData("Dark", false)]
|
||||
[InlineData("1south", false)]
|
||||
[InlineData("", false)]
|
||||
public void IsValid_AcceptsLowercaseIds(string value, bool expected)
|
||||
=> Assert.Equal(expected, ResourceName.IsValid(value));
|
||||
}
|
||||
Reference in New Issue
Block a user