Files
speckle-sharp-sdk/tests/Speckle.Objects.Tests.Unit/Geometry/PointTests.cs
T
Jedd Morgan ccb4f54550 Jedd/cxpla 55 add required keyword for more geometry types (#101)
* Sdk

* Objects

* Supressed IDE warnings via editor config instead of nowarn

* Nullability and other warnings

* using

* Required keyword on lines and meshes

* Fixed test project

* fixed tests

* Proxies

* Fixed equality of Point

* IEquatable

* Fixed issue with serialization of detached lists

* Added tests for jsonIgnore affecting id calc

* removed comments

* Fixed issue with fallback to double on large values

* Fixed undocumented large number support
2024-09-13 14:47:29 +01:00

55 lines
1.6 KiB
C#

using System.Diagnostics.CodeAnalysis;
using NUnit.Framework;
using Speckle.Objects.Geometry;
using Speckle.Sdk.Common;
namespace Speckle.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, Units.Meters);
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;
}
}