public void TestAlmostEquals() { Double x = 5; Assert.IsTrue(x.AlmostEquals(4, 1.5)); Assert.IsTrue(x.AlmostEquals(6, 1.5)); Assert.IsFalse(x.AlmostEquals(3, 1.5)); Assert.IsFalse(x.AlmostEquals(7, 1.5)); SpVector v = new SpVector(100, 200, 300); Assert.IsTrue(v.AlmostEquals(new SpVector(110, 220, 330), v * 0.1)); Assert.IsTrue(v.AlmostEquals(new SpVector(90, 180, 270), v * 0.1)); Assert.IsFalse(v.AlmostEquals(new SpVector(110, 220, 330), v * 0.05)); Assert.IsFalse(v.AlmostEquals(new SpVector(90, 180, 270), v * 0.05)); v = new SpVector(100, 0, 0); Assert.IsTrue(v.AlmostEquals(new SpVector(100, 10, 0), v * 0.1)); Assert.IsTrue(v.AlmostEquals(new SpVector(105, 5, 0), v * 0.1)); Assert.IsFalse(v.AlmostEquals(new SpVector(100, 10, 0), v * 0.05)); Assert.IsFalse(v.AlmostEquals(new SpVector(105, 5, 0), v * 0.05)); }