Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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");
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }