示例#1
0
        public void TestXMLReader()
        {
            XMLReader xmlReader = new XMLReader("Input1.xml");

            List<Vertex> actualVertexList = new List<Vertex>();
            while (xmlReader.IsNotEmpty())
            {
                actualVertexList.Add(xmlReader.GetCurrentVertex());
            }

            List<Vertex> expectedVertexList = new List<Vertex>();
            expectedVertexList.Add(new Vertex(2, 15));
            expectedVertexList.Add(new Vertex(2, 2));
            expectedVertexList.Add(new Vertex(20, 5));
            expectedVertexList.Add(new Vertex(17, 7));
            expectedVertexList.Add(new Vertex(22, 9));
            expectedVertexList.Add(new Vertex(22, 16));
            expectedVertexList.Add(new Vertex(9, 16));
            expectedVertexList.Add(new Vertex(7, 13));
            expectedVertexList.Add(new Vertex(5, 15));

            for (int i = 0; i < expectedVertexList.Count; i++)
            {
                Assert.AreEqual(expectedVertexList[i], actualVertexList[i]);
            }

            Assert.AreEqual(expectedVertexList.Count, actualVertexList.Count);
        }
示例#2
0
文件: Program.cs 项目: svramusi/CS623
        static void Main(string[] args)
        {
            string input = string.Empty;
            string output = string.Empty;

            for (int i = 0; i < args.Length; i++)
            {
                if (args[i].ToUpper() == "-INPUT")
                {
                    input = args[i + 1];
                    i++;
                }
                else if (args[i].ToUpper() == "-OUTPUT")
                {
                    output = args[i + 1];
                    i++;
                }
            }

            IInputReader reader = null;
            if (input.EndsWith(".xml"))
                reader = new XMLReader(input);

            SLAV slav = new SLAV();
            //LAV listOfActiveVertices = new LAV();
            while (reader.IsNotEmpty())
                slav.Insert(reader.GetCurrentVertex(), 0);

            SSLOperations.SetVertexType(slav.Get(0));
            SSLOperations.ComputeAngleBisectors(slav.Get(0));
            List<LineSegment> result = SSLOperations.GenerateSkeleton(slav);

            using (StreamWriter sw = new StreamWriter(output))
            {
                sw.WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\" ?>");
                sw.WriteLine("<linesegments>");
                foreach (LineSegment ls in result)
                {
                    sw.WriteLine("\t<linesegment>");
                    sw.WriteLine("\t\t<x>" + ls.Start.GetX() + "</x><y>" + ls.Start.GetY() + "</y>");
                    sw.WriteLine("\t\t<x>" + ls.End.GetX() + "</x><y>" + ls.End.GetY() + "</y>");
                    sw.WriteLine("\t</linesegment>");
                }
                sw.WriteLine("</linesegments>");
            }
        }