54 lines
1.6 KiB
C#
54 lines
1.6 KiB
C#
using System.Diagnostics.CodeAnalysis;
|
|
using NUnit.Framework;
|
|
using Objects.Geometry;
|
|
|
|
namespace Objects.Tests.Unit.Geometry;
|
|
|
|
[TestFixture, TestOf(typeof(Point))]
|
|
public class PointTests
|
|
{
|
|
[Test]
|
|
[SuppressMessage(
|
|
"Assertion",
|
|
"NUnit2010:Use EqualConstraint for better assertion messages in case of failure",
|
|
Justification = "Need to explicitly test equality operator"
|
|
)]
|
|
public void TestNull()
|
|
{
|
|
Point? a = null;
|
|
Point? b = null;
|
|
Point c = new(0, 0, 0);
|
|
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(a == b, Is.True);
|
|
Assert.That(a != b, Is.False);
|
|
Assert.That(b == a, Is.True);
|
|
Assert.That(b != a, Is.False);
|
|
|
|
Assert.That(a == c, Is.False);
|
|
Assert.That(a != c, Is.True);
|
|
Assert.That(c == a, Is.False);
|
|
Assert.That(c != a, Is.True);
|
|
});
|
|
}
|
|
|
|
[Test]
|
|
[TestCase(1, 1, 1, "m", 1, 1, 1, "m", ExpectedResult = true)]
|
|
[TestCase(1, 1, 1, "m", 0, 1, 1, "m", ExpectedResult = false)]
|
|
[TestCase(1, 1, 1, "m", 1, 0, 1, "m", ExpectedResult = false)]
|
|
[TestCase(1, 1, 1, "m", 1, 1, 0, "m", ExpectedResult = false)]
|
|
[TestCase(1, 1, 1, "", 1, 1, 1, "", ExpectedResult = true)]
|
|
[TestCase(1, 1, 1, null, 1, 1, 1, null, ExpectedResult = true)]
|
|
[TestCase(1, 1, 1, "m", 1, 1, 1, "meters", ExpectedResult = false)]
|
|
[TestCase(1, 1, 1, "m", 1, 1, 1, "M", ExpectedResult = false)]
|
|
// Units
|
|
public bool TestEqual(double x1, double y1, double z1, string units1, double x2, double y2, double z2, string units2)
|
|
{
|
|
Point p1 = new(x1, y1, z1, units1);
|
|
Point p2 = new(x2, y2, z2, units2);
|
|
|
|
return p1 == p2;
|
|
}
|
|
}
|