public void BasicVoronoiAddOne_RegionBasicFunctionality() { IVoronoiDelunayGraph gdv = createNewVoronoiDiagram(4); IVoronoiRegion reg = gdv.AddNewPoint(new double[] { 10, 3, 45, 2 }); Assert.IsTrue(reg.ContainsPoint(new double[] { 1, 2, 3, 4 })); CheckGeneralDiagramCoherence(gdv); }
public void BasicVoronoiAddTwo_BasicFunctionality() { IVoronoiDelunayGraph gdv = createNewVoronoiDiagram(4); IVoronoiRegion reg = gdv.AddNewPoint(new double[] { 10, 3, 45, 2 }); IVoronoiRegion regB = gdv.AddNewPoint(new double[] { 10, 50, 45, 50 }); double[] testingPoint = new double[] { 10, 4, 43, 0 }; Assert.IsTrue(reg.ContainsPoint(testingPoint)); Assert.IsFalse(regB.ContainsPoint(testingPoint)); Assert.AreEqual(gdv.GetMatchingRegion(testingPoint), reg); CheckGeneralDiagramCoherence(gdv); }
public void BuildOneSimplice_2D() { IVoronoiDelunayGraph gdv = createNewVoronoiDiagram(2); IVoronoiRegion reg = gdv.AddNewPoint("Cordoba", new double[] { 20, 5 }); IVoronoiRegion regB = gdv.AddNewPoint("Huelva", new double[] { 1, 1 }); IVoronoiRegion regC = gdv.AddNewPoint("Cadiz", new double[] { 40, 1 }); double[] testingPoint = new double[] { 4, 4 }; Assert.IsFalse(reg.ContainsPoint(testingPoint)); Assert.True(regB.ContainsPoint(testingPoint)); Assert.IsFalse(regC.ContainsPoint(testingPoint)); Assert.AreEqual(gdv.GetMatchingRegion(testingPoint), regB); Assert.IsTrue(gdv.Nucleis.All(n => n.BelongConvexHull)); Assert.IsTrue(gdv.Simplices.Count() == 1); Assert.IsTrue(gdv.Simplices.Single().Nucleis.Intersect(gdv.Nucleis).Count() == 3); Assert.IsTrue(gdv.Nucleis.All(n => n.Simplices.Contains(gdv.Simplices.Single()))); CheckGeneralDiagramCoherence(gdv); }