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); }
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>"); } }