Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 59bf8c21 authored by Michael KRISPER's avatar Michael KRISPER
Browse files

added tolerance to double comparison in Tests

parent 3aeb211d
No related branches found
No related tags found
No related merge requests found
using System;
using System.Linq.Expressions;
using System.Runtime.CompilerServices;
using System.Xml.Schema;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using TUGraz.VectoCore.Exceptions;
using TUGraz.VectoCore.Utils;
......@@ -11,6 +8,8 @@ namespace TUGraz.VectoCore.Tests.Utils
[TestClass]
public class DelauneyMapTest
{
private const double tolerance = 0.00001;
public static void AssertException<T>(Action func, string message) where T : Exception
{
try
......@@ -36,7 +35,7 @@ namespace TUGraz.VectoCore.Tests.Utils
var result = map.Interpolate(0.25, 0.25);
Assert.AreEqual(0, result);
Assert.AreEqual(0, result, tolerance);
}
[TestMethod]
......@@ -50,21 +49,21 @@ namespace TUGraz.VectoCore.Tests.Utils
map.Triangulate();
// fixed points
Assert.AreEqual(0, map.Interpolate(0, 0));
Assert.AreEqual(1, map.Interpolate(1, 0));
Assert.AreEqual(2, map.Interpolate(0, 1));
Assert.AreEqual(0, map.Interpolate(0, 0), tolerance);
Assert.AreEqual(1, map.Interpolate(1, 0), tolerance);
Assert.AreEqual(2, map.Interpolate(0, 1), tolerance);
// interpolations
Assert.AreEqual(0.5, map.Interpolate(0.5, 0));
Assert.AreEqual(1, map.Interpolate(0, 0.5));
Assert.AreEqual(1.5, map.Interpolate(0.5, 0.5));
Assert.AreEqual(0.5, map.Interpolate(0.5, 0), tolerance);
Assert.AreEqual(1, map.Interpolate(0, 0.5), tolerance);
Assert.AreEqual(1.5, map.Interpolate(0.5, 0.5), tolerance);
Assert.AreEqual(0.25, map.Interpolate(0.25, 0));
Assert.AreEqual(0.5, map.Interpolate(0, 0.25));
Assert.AreEqual(0.75, map.Interpolate(0.25, 0.25));
Assert.AreEqual(0.25, map.Interpolate(0.25, 0), tolerance);
Assert.AreEqual(0.5, map.Interpolate(0, 0.25), tolerance);
Assert.AreEqual(0.75, map.Interpolate(0.25, 0.25), tolerance);
Assert.AreEqual(0.75, map.Interpolate(0.75, 0));
Assert.AreEqual(1.5, map.Interpolate(0, 0.75));
Assert.AreEqual(0.75, map.Interpolate(0.75, 0), tolerance);
Assert.AreEqual(1.5, map.Interpolate(0, 0.75), tolerance);
// extrapolation (should fail)
AssertException<VectoException>(() => map.Interpolate(1, 1), "Interpolation failed.");
......@@ -86,24 +85,24 @@ namespace TUGraz.VectoCore.Tests.Utils
map.Triangulate();
// fixed points
Assert.AreEqual(0, map.Interpolate(0, 0));
Assert.AreEqual(1, map.Interpolate(1, 0));
Assert.AreEqual(2, map.Interpolate(0, 1));
Assert.AreEqual(3, map.Interpolate(1, 1));
Assert.AreEqual(0, map.Interpolate(0, 0), tolerance);
Assert.AreEqual(1, map.Interpolate(1, 0), tolerance);
Assert.AreEqual(2, map.Interpolate(0, 1), tolerance);
Assert.AreEqual(3, map.Interpolate(1, 1), tolerance);
// interpolations
Assert.AreEqual(0.5, map.Interpolate(0.5, 0));
Assert.AreEqual(1, map.Interpolate(0, 0.5));
Assert.AreEqual(2, map.Interpolate(1, 0.5));
Assert.AreEqual(2.5, map.Interpolate(0.5, 1));
Assert.AreEqual(0.5, map.Interpolate(0.5, 0), tolerance);
Assert.AreEqual(1, map.Interpolate(0, 0.5), tolerance);
Assert.AreEqual(2, map.Interpolate(1, 0.5), tolerance);
Assert.AreEqual(2.5, map.Interpolate(0.5, 1), tolerance);
Assert.AreEqual(1.5, map.Interpolate(0.5, 0.5));
Assert.AreEqual(1.5, map.Interpolate(0.5, 0.5), tolerance);
Assert.AreEqual(0.75, map.Interpolate(0.25, 0.25));
Assert.AreEqual(2.25, map.Interpolate(0.75, 0.75));
Assert.AreEqual(0.75, map.Interpolate(0.25, 0.25), tolerance);
Assert.AreEqual(2.25, map.Interpolate(0.75, 0.75), tolerance);
Assert.AreEqual(1.75, map.Interpolate(0.25, 0.75));
Assert.AreEqual(1.25, map.Interpolate(0.75, 0.25));
Assert.AreEqual(1.75, map.Interpolate(0.25, 0.75), tolerance);
Assert.AreEqual(1.25, map.Interpolate(0.75, 0.25), tolerance);
// extrapolation (should fail)
AssertException<VectoException>(() => map.Interpolate(1.5, 0.5), "Interpolation failed.");
......@@ -160,12 +159,5 @@ namespace TUGraz.VectoCore.Tests.Utils
map.AddPoint(0, 1, 0);
map.Triangulate();
}
[TestMethod]
public void Test_DelauneyWithRealData()
{
Assert.Fail();
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment