public void TwoRingSegmentsCreatedCorrectly()
        {
            string pathToData = Path.Combine("..", "..", "..", "TestData", "TwoRingSegmentsTestData.txt");

            string[] segmentsToCheck = File.ReadAllLines(pathToData);
            foreach (string line in segmentsToCheck)
            {
                List <SlicerSegment> segmentsList = SlicerLayer.CreateSegmentListFromString(line);
                SlicerLayer          layer        = new SlicerLayer(1, line);
                layer.MakePolygons(ConfigConstants.REPAIR_OUTLINES.NONE);

                Assert.IsTrue(layer.PolygonList.Count == 2);
            }
        }
        public void CubePolygonWindingDirectionDoesNotMatter()
        {
            string pathToData = Path.Combine("..", "..", "..", "TestData", "CubeSegmentsX2.txt");

            string[] segmentsToCheck = File.ReadAllLines(pathToData);
            foreach (string line in segmentsToCheck)
            {
                List <SlicerSegment> segmentsList = SlicerLayer.CreateSegmentListFromString(line);
                SlicerLayer          layer        = new SlicerLayer(1, line);
                layer.MakePolygons(ConfigConstants.REPAIR_OUTLINES.NONE);

                Assert.IsTrue(layer.PolygonList.Count == 1);
            }
        }
        public void DumpSegmentsWorks()
        {
            List <SlicerSegment> testSegments = new List <SlicerSegment>();

            testSegments.Add(new SlicerSegment(new IntPoint(1, 2), new IntPoint(3, 4)));
            testSegments.Add(new SlicerSegment(new IntPoint(4, 2), new IntPoint(5, 4)));
            testSegments.Add(new SlicerSegment(new IntPoint(3, 2), new IntPoint(9, 4)));
            testSegments.Add(new SlicerSegment(new IntPoint(6, 2), new IntPoint(3, 7)));

            string segmentsString            = SlicerLayer.DumpSegmentListToString(testSegments);
            List <SlicerSegment> outSegments = SlicerLayer.CreateSegmentListFromString(segmentsString);

            Assert.True(testSegments.Count == outSegments.Count);
            for (int i = 0; i < testSegments.Count; i++)
            {
                Assert.True(testSegments[i].start == outSegments[i].start);
                Assert.True(testSegments[i].end == outSegments[i].end);
            }
        }
        public void TwoRingSegmentsCreatedCorrectly()
        {
            string pathToData = Path.Combine("..", "..", "..", "TestData", "TwoRingSegmentsTestData.txt");

            string[] segmentsToCheck = File.ReadAllLines(pathToData);
            foreach (string line in segmentsToCheck)
            {
                List<SlicerSegment> segmentsList = SlicerLayer.CreateSegmentListFromString(line);
                SlicerLayer layer = new SlicerLayer(1, line);
                layer.MakePolygons(ConfigConstants.REPAIR_OUTLINES.NONE);

                Assert.IsTrue(layer.PolygonList.Count == 2);
            }
        }
        public void CubePolygonWindingDirectionDoesNotMatter()
        {
            string pathToData = Path.Combine("..", "..", "..", "TestData", "CubeSegmentsX2.txt");

            string[] segmentsToCheck = File.ReadAllLines(pathToData);
            foreach (string line in segmentsToCheck)
            {
                List<SlicerSegment> segmentsList = SlicerLayer.CreateSegmentListFromString(line);
                SlicerLayer layer = new SlicerLayer(1, line);
                layer.MakePolygons(ConfigConstants.REPAIR_OUTLINES.NONE);

                Assert.IsTrue(layer.PolygonList.Count == 1);
            }
        }