TKK_E32231768/Library/PackageCache/com.unity.2d.tilemap@1.0.0/Tests/Editor/GridEditorUtililtyTest.cs

132 lines
4.2 KiB
C#

using System.Linq;
using NUnit.Framework;
using UnityEngine;
namespace UnityEditor.Tilemaps.Tests
{
[TestFixture]
internal class GridEditorUtilityTests
{
[Test]
public void ClampToGrid_PointInGridIsSame()
{
var point = new Vector3Int(1, 2, 3);
var gridOrigin = Vector2Int.zero;
var gridSize = Vector2Int.one * 4;
var clampedPoint = GridEditorUtility.ClampToGrid(point, gridOrigin, gridSize);
Assert.AreEqual(point, clampedPoint);
}
[Test]
public void ClampToGrid_PointOutsideGridIsClamped()
{
var point = new Vector3Int(5, 2, 3);
var gridOrigin = Vector2Int.zero;
var gridSize = Vector2Int.one * 4;
var clampedPoint = GridEditorUtility.ClampToGrid(point, gridOrigin, gridSize);
Assert.AreEqual(new Vector3Int(3, 2, 3), clampedPoint);
}
[Test]
public void ClampToGrid_NegativePointOutsideGridIsClamped()
{
var point = new Vector3Int(-1, 2, 3);
var gridOrigin = Vector2Int.zero;
var gridSize = Vector2Int.one * 4;
var clampedPoint = GridEditorUtility.ClampToGrid(point, gridOrigin, gridSize);
Assert.AreEqual(new Vector3Int(0, 2, 3), clampedPoint);
}
[Test]
public void GetMarqueeRect_MinMaxPoints()
{
var minPoint = Vector2Int.one * -4;
var maxPoint = Vector2Int.one * 4;
var marquee = GridEditorUtility.GetMarqueeRect(minPoint, maxPoint);
Assert.AreEqual(new RectInt(-4, -4, 9, 9), marquee);
}
[Test]
public void GetMarqueeRect_AlternatePoints()
{
var xPoint = new Vector2Int(5, -4);
var yPoint = new Vector2Int(-4, 5);
var marquee = GridEditorUtility.GetMarqueeRect(xPoint, yPoint);
Assert.AreEqual(new RectInt(-4, -4, 10, 10), marquee);
}
[Test]
public void GetMarqueeRect_SamePoint()
{
var point = new Vector2Int(5, -4);
var marquee = GridEditorUtility.GetMarqueeRect(point, point);
Assert.AreEqual(new RectInt(5, -4, 1, 1), marquee);
}
[Test]
public void GetMarqueeBounds_MinMaxPoints()
{
var minPoint = Vector3Int.one * -4;
var maxPoint = Vector3Int.one * 4;
var marquee = GridEditorUtility.GetMarqueeBounds(minPoint, maxPoint);
Assert.AreEqual(new BoundsInt(-4, -4, -4, 9, 9, 9), marquee);
}
[Test]
public void GetMarqueeBounds_AlternatePoints()
{
var xPoint = new Vector3Int(5, -4, 5);
var yPoint = new Vector3Int(-4, 5, -4);
var marquee = GridEditorUtility.GetMarqueeBounds(xPoint, yPoint);
Assert.AreEqual(new BoundsInt(-4, -4, -4, 10, 10, 10), marquee);
}
[Test]
public void GetMarqueeBounds_SamePoint()
{
var point = new Vector3Int(5, -4, 6);
var marquee = GridEditorUtility.GetMarqueeBounds(point, point);
Assert.AreEqual(new BoundsInt(5, -4, 6, 1, 1, 1), marquee);
}
[Test]
public void GetPointsOnLine_HorizontalLine_PointCountCorrect()
{
var startPoint = Vector2Int.zero;
var endPoint = new Vector2Int(5, 0);
var count = GridEditorUtility.GetPointsOnLine(startPoint, endPoint).Count();
Assert.AreEqual(endPoint.x - startPoint.x + 1, count);
}
[Test]
public void GetPointsOnLine_VerticalLine_PointCountCorrect()
{
var startPoint = Vector2Int.zero;
var endPoint = new Vector2Int(0, 5);
var count = GridEditorUtility.GetPointsOnLine(startPoint, endPoint).Count();
Assert.AreEqual(endPoint.y - startPoint.y + 1, count);
}
[Test]
public void GetPointsOnLine_DiagonalLine_PointCountCorrect()
{
var startPoint = Vector2Int.zero;
var endPoint = new Vector2Int(5, 5);
var count = GridEditorUtility.GetPointsOnLine(startPoint, endPoint).Count();
Assert.AreEqual(endPoint.y - startPoint.x + 1, count);
}
}
}