Aetheria/Assets/Scripts/Tests/BresenhamTest.cs
Meta Vens 6140a06a0a Swap Unity.Mathematics usings for CultMath
Every Unity.Mathematics using, alias and qualified name under Assets\Scripts
and tools now names CultMath. The nine `using static ...noise;` lines are
gone: snoise lives on CultMath's math. UnityExtensions loses float4.ToColor
and Color.ToFloat4, which duplicate the bridge's ToColor and ToCultMath; the
float3 colour pair stays because the bridge has none.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 17:39:12 +02:00

80 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
using NUnit.Framework;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CultMath;
class BresenhamTest
{
[Test]
public void LowPositiveGradientTest()
{
Shape shape = new Shape(7, 7);
shape.SetLine(new float2(1, 1f), new float2(6f, 3f));
var coords = new[] { (1, 1), (2, 1), (3, 2), (4, 2), (5, 3), (6, 3)};
foreach(var coord in coords)
{
Assert.True(shape.Cells[coord.Item1, coord.Item2], $"{coord.Item1}, {coord.Item2}");
}
}
[Test]
public void LowNegativeGradientTest()
{
Shape shape = new Shape(5, 5);
shape.SetLine(new float2(-2f, 4f), new float2(3f, 2f));
var coords = new[] { (0, 3), (1, 3), (2, 2), (3, 2)};
foreach (var coord in coords)
{
Assert.True(shape.Cells[coord.Item1, coord.Item2], $"{coord.Item1}, {coord.Item2}");
}
}
[Test]
public void HighPositiveGradientTest()
{
Shape shape = new Shape(4, 4);
shape.SetLine(new float2(1f, 3f), new float2(0f, 0f));
var coords = new[] { (0, 0), (0, 1), (1, 2), (1, 3) };
foreach (var coord in coords)
{
Assert.True(shape.Cells[coord.Item1, coord.Item2], $"{coord.Item1}, {coord.Item2}");
}
}
[Test]
public void FloatingPointYTest()
{
Shape shape = new Shape(7, 7);
shape.SetLine(new float2(0.6f, 1.4f), new float2(6f, 2.6f));
var coords = new[] { (1, 1), (2, 2), (3, 2), (4, 2), (5, 2), (6, 3) };
foreach (var coord in coords)
{
Assert.True(shape.Cells[coord.Item1, coord.Item2], $"{coord.Item1}, {coord.Item2}");
}
}
[Test]
public void FloatingPointXTest()
{
Shape shape = new Shape(7, 7);
shape.SetLine(new float2(0.6f, 1f), new float2(5.6f, 3f));
var coords = new[] { (1, 1), (2, 2), (3, 2), (4, 2), (5, 3), (6, 3) };
foreach (var coord in coords)
{
Assert.True(shape.Cells[coord.Item1, coord.Item2], $"{coord.Item1}, {coord.Item2}");
}
}
}