public void GetSectionsTest() { Facet facet = new Facet() { Normal = Vector3.UnitX, Vx1 = new Vector3(0f, 1f, 0f), Vx2 = new Vector3(0f, -1f, 0f), Vx3 = new Vector3(0f, 0f, 1f) }; List <Facet> sections = facet.GetSections(0.5f).ToList(); Assert.AreEqual(2, sections.Count); Assert.AreEqual(Vector3.UnitX, sections[0].Normal); Assert.AreEqual(new Vector3(0f, 1f, 0f), sections[0].Vx1); Assert.AreEqual(new Vector3(0f, -1f, 0f), sections[0].Vx2); Assert.AreEqual(new Vector3(0f, -0.5f, 0.5f), sections[0].Vx3); Assert.AreEqual(Vector3.UnitX, sections[1].Normal); Assert.AreEqual(new Vector3(0f, 1f, 0f), sections[1].Vx1); Assert.AreEqual(new Vector3(0f, -0.5f, 0.5f), sections[1].Vx2); Assert.AreEqual(new Vector3(0f, 0.5f, 0.5f), sections[1].Vx3); facet = new Facet() { Normal = Vector3.UnitX, Vx1 = new Vector3(0f, 1f, 1f), Vx2 = new Vector3(0f, -1f, 1f), Vx3 = new Vector3(0f, 0f, 0f) }; sections = facet.GetSections(0.5f).ToList(); Assert.AreEqual(1, sections.Count); Assert.AreEqual(Vector3.UnitX, sections[0].Normal); Assert.AreEqual(new Vector3(0f, -0.5f, 0.5f), sections[0].Vx1); Assert.AreEqual(new Vector3(0f, 0f, 0f), sections[0].Vx2); Assert.AreEqual(new Vector3(0f, 0.5f, 0.5f), sections[0].Vx3); }