public void StructureEquals() { var division = SubdivisionFromLines.CreateTriforce(false); division.Validate(); // check overall structural equality var clone = (Subdivision)division.Clone(); clone.Validate(); Assert.IsTrue(division.StructureEquals(clone)); // check individual edges Assert.AreEqual(division.Edges.Count, clone.Edges.Count); for (int i = 0; i < division.Edges.Count; i++) { var edge = division.Edges.GetByIndex(i); var cloneEdge = clone.Edges.GetByIndex(i); Assert.AreNotEqual(edge, cloneEdge); Assert.IsTrue(edge.StructureEquals(cloneEdge)); } // check individual faces var faces = division.Faces.Values; var cloneFaces = clone.Faces.Values; Assert.AreEqual(faces.Count, cloneFaces.Count); for (int i = 0; i < faces.Count; i++) { Assert.AreNotEqual(faces[i], cloneFaces[i]); Assert.IsTrue(faces[i].StructureEquals(cloneFaces[i])); } }
public void FromLines() { Subdivision division = SubdivisionFromLines.CreateSquareStar(false); CheckSearch(division); division = SubdivisionFromLines.CreateTriforce(false); CheckSearch(division); }