Files
sbox-public/engine/Sandbox.Test.Unit/System/TriangleTest.cs
Lorenz Junglas 91f8fcf183 Speed up / parallelize tests (#3587)
- Added Sandbox.Test.Unit project (contains independent tests that can run in parallel) 
- Modify some slow/stress tests (e.g. instead of doing a million iterations settle for 10k).

Tests run almost twice as fast now.
2025-12-10 14:23:00 +01:00

50 lines
1.3 KiB
C#

namespace SystemTest;
[TestClass]
public class TriangleTest
{
[TestMethod]
public void TestTrianglePerimeter()
{
Triangle triangle = new Triangle( new Vector3( 0, 0, 0 ), new Vector3( 0, 1, 0 ), new Vector3( 1, 0, 0 ) );
Assert.AreEqual( 3.4142137f, triangle.Perimeter );
}
[TestMethod]
public void TestTriangleArea()
{
Triangle triangle = new Triangle( new Vector3( 0, 0, 0 ), new Vector3( 0, 1, 0 ), new Vector3( 1, 0, 0 ) );
Assert.AreEqual( triangle.Area, 0.5f );
}
[TestMethod]
public void TestTriangleIsRight()
{
Triangle triangle = new Triangle( new Vector3( 0, 0, 0 ), new Vector3( 0, 3, 0 ), new Vector3( 4, 0, 0 ) );
Assert.IsTrue( triangle.IsRight );
}
[TestMethod]
public void TestClosestPointWithPointOutsideTriangle()
{
Triangle triangle = new Triangle( new Vector3( -1, 0, 0 ), new Vector3( 0, 2, 0 ), new Vector3( 1, 0, 0 ) );
Vector3 closestPoint = triangle.ClosestPoint( new Vector3( -1000, 0, 0 ) );
Assert.AreEqual( closestPoint, new Vector3( -1, 0, 0 ) );
}
[TestMethod]
public void TestClosestPointWithPointInsideTriangle()
{
Triangle triangle = new Triangle( new Vector3( -100, 0, 0 ), new Vector3( 0, 100, 0 ), new Vector3( 100, 0, 0 ) );
Vector3 closestPoint = triangle.ClosestPoint( new Vector3( 10, 15, 0 ) );
Assert.IsTrue( closestPoint == new Vector3( 10, 15, 0 ) );
}
}