From 0709cdf9e1dc45a5e8f7553ea177f9a71d2951e7 Mon Sep 17 00:00:00 2001 From: wo80 Date: Tue, 19 Jul 2022 13:14:36 +0200 Subject: [PATCH] Add QualityMeasure test. --- src/Triangle.Tests/Tools/InterpolationTest.cs | 1 - .../Tools/QualityMeasureTest.cs | 36 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 src/Triangle.Tests/Tools/QualityMeasureTest.cs diff --git a/src/Triangle.Tests/Tools/InterpolationTest.cs b/src/Triangle.Tests/Tools/InterpolationTest.cs index 6a3b7ea..dbd6a76 100644 --- a/src/Triangle.Tests/Tools/InterpolationTest.cs +++ b/src/Triangle.Tests/Tools/InterpolationTest.cs @@ -12,7 +12,6 @@ namespace TriangleNet.Tests.Tools [Test, DefaultFloatingPointTolerance(1e-8)] public void TestInterpolatePoint() { - var vertices = new List() { new Vertex(0.0, 0.0) { ID = 0 }, diff --git a/src/Triangle.Tests/Tools/QualityMeasureTest.cs b/src/Triangle.Tests/Tools/QualityMeasureTest.cs new file mode 100644 index 0000000..02ee013 --- /dev/null +++ b/src/Triangle.Tests/Tools/QualityMeasureTest.cs @@ -0,0 +1,36 @@ +using NUnit.Framework; +using System; +using System.Collections.Generic; +using TriangleNet.Geometry; +using TriangleNet.Meshing.Algorithm; +using TriangleNet.Tools; + +namespace TriangleNet.Tests.Tools +{ + public class QualityMeasureTest + { + [Test] + public void TestEquilateralTriangles() + { + double sqrt3 = Math.Sqrt(3); + + var vertices = new List() + { + new Vertex(0.0, 0.0) { ID = 0 }, + new Vertex(1.0, sqrt3) { ID = 1 }, + new Vertex(2.0, 0.0) { ID = 2 }, + new Vertex(3.0, sqrt3) { ID = 3 } + }; + + var mesh = new Dwyer().Triangulate(vertices, new Configuration()); + + var quality = new QualityMeasure(mesh); + + Assert.AreEqual(quality.AreaMinimum, quality.AreaMaximum); + Assert.AreEqual(1.0, quality.AlphaMinimum); + Assert.AreEqual(1.0, quality.AlphaMaximum); + Assert.AreEqual(1.0, quality.Q_Minimum); + Assert.AreEqual(1.0, quality.Q_Maximum); + } + } +}