public void CanParseXML() { string xml = UnittestTools.ReadResource("testhighway.xml"); XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); XmlNodeList xmlNodeList; xmlNodeList = doc.SelectNodes("/osm/node"); Assert.AreEqual(1325, xmlNodeList.Count); XmlNode node = xmlNodeList[0]; long id = Convert.ToInt64(node.Attributes["id"].Value); Assert.AreEqual(2291232, id); }
public void CanBuildRiver() { Assert.IsInstanceOfType(river, typeof(River)); string xml = UnittestTools.ReadResource("testriver.xml"); int unresolved = river.Build(xml); Assert.AreEqual(0, unresolved); Assert.AreEqual(11, river.Tracks.Count); Assert.AreEqual("Geul", river.Tracks[0].Name); Assert.AreEqual(Tracktype.Water, river.Tracks[0].Type); TestRiver testRiver = new TestRiver(lat, lon); Assert.AreEqual("[waterway=river]", testRiver.TestQuery); // for debugging //river.ToCSV(@"D:\Downloads\rivers.csv"); }
public void CanBuildHighway() { // check if Airline is build Assert.IsNotNull(airline); Assert.AreEqual(1, airline.Tracks.Count); Assert.AreEqual(1, airline.Tracks[0].Id); // simulate highway build Assert.IsInstanceOfType(highway, typeof(Highway)); string xml = UnittestTools.ReadResource("testhighway.xml"); int unresolved = highway.Build(xml); // for debugging highway.ToCSV(@"D:\Downloads\tracks.csv"); Assert.AreEqual(0, unresolved); Assert.AreEqual(6, highway.Tracks.Count); Assert.AreEqual("A2", highway.Tracks[0].Name); Assert.AreEqual(197, highway.Tracks[0].Nodes.Count); // first track = 1!! Because of airline build, this is track 2 !!! // note Tracks are sorted by name List <Track> sorted = highway.Tracks.OrderBy(t => t.Id).ToList(); Assert.AreEqual(2, sorted[0].Id); Assert.AreEqual(0, highway.Tracks[0].Nodes[0].Elevation); // Koning Willem-Alexandertunnel is in Track with Id 2 ?? Node node = sorted[0].Nodes.FirstOrDefault(n => n.Id == 4683253807); Assert.IsNotNull(node); Assert.AreEqual(329098539, node.Segment.Id); Assert.AreEqual("Koning Willem-Alexandertunnel (A2)", node.Name); Assert.AreEqual(2, node.Segment.Lanes); Assert.IsTrue(node.Segment.IsTunnel); Assert.IsFalse(node.Segment.IsBridge); }
public void CanGetOverpassHighways() { Overpass overpass = new Overpass(leftTopLat, leftTopLon, bottomRightLat, bottomRightLon); string xml = UnittestTools.ReadResource("testhighway.xml"); // does ReadResource work? (for testing we do NOT need to query overpass.de) Assert.IsFalse(string.IsNullOrEmpty(xml)); Assert.AreEqual("<?xml", xml.Substring(0, 5)); overpass.ParseSegmentsAndNodes(xml); Assert.AreEqual(1325, overpass.Nodes.Count); Assert.AreEqual(285, overpass.Segments.Count); Assert.AreEqual("A2", overpass.Segments[0].Name); Assert.AreEqual("A2", overpass.Segments[0].Ref); Assert.AreEqual(4842325, overpass.Segments[0].Id); Assert.AreEqual(2, overpass.Segments[0].Nodes.Count); Assert.AreEqual(10, overpass.Segments[0].Tags.Count); Segment segment = overpass.Segments.FirstOrDefault(s => s.Id == 329098539); Assert.IsNotNull(segment); Assert.AreEqual(11, segment.Tags.Count); Assert.AreEqual("A2", segment.Ref); Assert.AreEqual("Koning Willem-Alexandertunnel", segment.Name); }