public void TestEdgeMatcher() { IEdgeMatcher matcher = new DefaultEdgeMatcher(); // create edge tags. var edgeTags = new TagsCollection(); //edge_tags["highway"] = "footway"; // create point tags. var pointTags = new TagsCollection(); //point_tags["highway"] = "footway"; // test with empty point tags. Assert.IsTrue(matcher.MatchWithEdge(Vehicle.Car, null, null)); Assert.IsTrue(matcher.MatchWithEdge(Vehicle.Car, pointTags, null)); // test with empty edge tags. pointTags["name"] = "Ben Abelshausen Boulevard"; Assert.IsFalse(matcher.MatchWithEdge(Vehicle.Car, pointTags, null)); Assert.IsFalse(matcher.MatchWithEdge(Vehicle.Car, pointTags, edgeTags)); // test with matching name. edgeTags["name"] = "Ben Abelshausen Boulevard"; Assert.IsTrue(matcher.MatchWithEdge(Vehicle.Car, pointTags, edgeTags)); // test with none-matching name. edgeTags["name"] = "Jorieke Vyncke Boulevard"; Assert.IsFalse(matcher.MatchWithEdge(Vehicle.Car, pointTags, edgeTags)); }
public void TestEdgeMatcherDykstra() { string name = "Ben Abelshausen Boulevard"; IEdgeMatcher matc = new DefaultEdgeMatcher(); this.TestResolveOnEdge(name, "footway", Vehicle.Pedestrian, matc, true); this.TestResolveOnEdge(name, "cycleway", Vehicle.Pedestrian, matc, true); this.TestResolveOnEdge(name, "bridleway", Vehicle.Pedestrian, matc, false); this.TestResolveOnEdge(name, "path", Vehicle.Pedestrian, matc, true); this.TestResolveOnEdge(name, "pedestrian", Vehicle.Pedestrian, matc, true); this.TestResolveOnEdge(name, "road", Vehicle.Pedestrian, matc, true); this.TestResolveOnEdge(name, "living_street", Vehicle.Pedestrian, matc, true); this.TestResolveOnEdge(name, "residential", Vehicle.Pedestrian, matc, true); this.TestResolveOnEdge(name, "unclassified", Vehicle.Pedestrian, matc, true); this.TestResolveOnEdge(name, "tertiary", Vehicle.Pedestrian, matc, true); this.TestResolveOnEdge(name, "secondary", Vehicle.Pedestrian, matc, true); this.TestResolveOnEdge(name, "primary", Vehicle.Pedestrian, matc, true); this.TestResolveOnEdge(name, "trunk", Vehicle.Pedestrian, matc, false); this.TestResolveOnEdge(name, "motorway", Vehicle.Pedestrian, matc, false); this.TestResolveOnEdge(name, "footway", Vehicle.Bicycle, matc, false); this.TestResolveOnEdge(name, "cycleway", Vehicle.Bicycle, matc, true); this.TestResolveOnEdge(name, "bridleway", Vehicle.Bicycle, matc, false); this.TestResolveOnEdge(name, "path", Vehicle.Bicycle, matc, true); this.TestResolveOnEdge(name, "pedestrian", Vehicle.Bicycle, matc, false); this.TestResolveOnEdge(name, "road", Vehicle.Bicycle, matc, true); this.TestResolveOnEdge(name, "living_street", Vehicle.Bicycle, matc, true); this.TestResolveOnEdge(name, "residential", Vehicle.Bicycle, matc, true); this.TestResolveOnEdge(name, "unclassified", Vehicle.Bicycle, matc, true); this.TestResolveOnEdge(name, "tertiary", Vehicle.Bicycle, matc, true); this.TestResolveOnEdge(name, "secondary", Vehicle.Bicycle, matc, true); this.TestResolveOnEdge(name, "primary", Vehicle.Bicycle, matc, true); this.TestResolveOnEdge(name, "trunk", Vehicle.Bicycle, matc, false); this.TestResolveOnEdge(name, "motorway", Vehicle.Bicycle, matc, false); this.TestResolveOnEdge(name, "footway", Vehicle.Moped, matc, false); this.TestResolveOnEdge(name, "cycleway", Vehicle.Moped, matc, false); this.TestResolveOnEdge(name, "bridleway", Vehicle.Moped, matc, false); this.TestResolveOnEdge(name, "path", Vehicle.Moped, matc, false); this.TestResolveOnEdge(name, "pedestrian", Vehicle.Moped, matc, false); this.TestResolveOnEdge(name, "road", Vehicle.Moped, matc, true); this.TestResolveOnEdge(name, "living_street", Vehicle.Moped, matc, true); this.TestResolveOnEdge(name, "residential", Vehicle.Moped, matc, true); this.TestResolveOnEdge(name, "unclassified", Vehicle.Moped, matc, true); this.TestResolveOnEdge(name, "tertiary", Vehicle.Moped, matc, true); this.TestResolveOnEdge(name, "secondary", Vehicle.Moped, matc, true); this.TestResolveOnEdge(name, "primary", Vehicle.Moped, matc, true); this.TestResolveOnEdge(name, "trunk", Vehicle.Moped, matc, true); this.TestResolveOnEdge(name, "motorway", Vehicle.Moped, matc, false); this.TestResolveOnEdge(name, "footway", Vehicle.MotorCycle, matc, false); this.TestResolveOnEdge(name, "cycleway", Vehicle.MotorCycle, matc, false); this.TestResolveOnEdge(name, "bridleway", Vehicle.MotorCycle, matc, false); this.TestResolveOnEdge(name, "path", Vehicle.MotorCycle, matc, false); this.TestResolveOnEdge(name, "pedestrian", Vehicle.MotorCycle, matc, false); this.TestResolveOnEdge(name, "road", Vehicle.MotorCycle, matc, true); this.TestResolveOnEdge(name, "living_street", Vehicle.MotorCycle, matc, true); this.TestResolveOnEdge(name, "residential", Vehicle.MotorCycle, matc, true); this.TestResolveOnEdge(name, "unclassified", Vehicle.MotorCycle, matc, true); this.TestResolveOnEdge(name, "tertiary", Vehicle.MotorCycle, matc, true); this.TestResolveOnEdge(name, "secondary", Vehicle.MotorCycle, matc, true); this.TestResolveOnEdge(name, "primary", Vehicle.MotorCycle, matc, true); this.TestResolveOnEdge(name, "trunk", Vehicle.MotorCycle, matc, true); this.TestResolveOnEdge(name, "motorway", Vehicle.MotorCycle, matc, true); this.TestResolveOnEdge(name, "footway", Vehicle.Car, matc, false); this.TestResolveOnEdge(name, "cycleway", Vehicle.Car, matc, false); this.TestResolveOnEdge(name, "bridleway", Vehicle.Car, matc, false); this.TestResolveOnEdge(name, "path", Vehicle.Car, matc, false); this.TestResolveOnEdge(name, "pedestrian", Vehicle.Car, matc, false); this.TestResolveOnEdge(name, "road", Vehicle.Car, matc, true); this.TestResolveOnEdge(name, "living_street", Vehicle.Car, matc, true); this.TestResolveOnEdge(name, "residential", Vehicle.Car, matc, true); this.TestResolveOnEdge(name, "unclassified", Vehicle.Car, matc, true); this.TestResolveOnEdge(name, "tertiary", Vehicle.Car, matc, true); this.TestResolveOnEdge(name, "secondary", Vehicle.Car, matc, true); this.TestResolveOnEdge(name, "primary", Vehicle.Car, matc, true); this.TestResolveOnEdge(name, "trunk", Vehicle.Car, matc, true); this.TestResolveOnEdge(name, "motorway", Vehicle.Car, matc, true); this.TestResolveOnEdge(name, "footway", Vehicle.SmallTruck, matc, false); this.TestResolveOnEdge(name, "cycleway", Vehicle.SmallTruck, matc, false); this.TestResolveOnEdge(name, "bridleway", Vehicle.SmallTruck, matc, false); this.TestResolveOnEdge(name, "path", Vehicle.SmallTruck, matc, false); this.TestResolveOnEdge(name, "pedestrian", Vehicle.SmallTruck, matc, false); this.TestResolveOnEdge(name, "road", Vehicle.SmallTruck, matc, true); this.TestResolveOnEdge(name, "living_street", Vehicle.SmallTruck, matc, true); this.TestResolveOnEdge(name, "residential", Vehicle.SmallTruck, matc, true); this.TestResolveOnEdge(name, "unclassified", Vehicle.SmallTruck, matc, true); this.TestResolveOnEdge(name, "tertiary", Vehicle.SmallTruck, matc, true); this.TestResolveOnEdge(name, "secondary", Vehicle.SmallTruck, matc, true); this.TestResolveOnEdge(name, "primary", Vehicle.SmallTruck, matc, true); this.TestResolveOnEdge(name, "trunk", Vehicle.SmallTruck, matc, true); this.TestResolveOnEdge(name, "motorway", Vehicle.SmallTruck, matc, true); this.TestResolveOnEdge(name, "footway", Vehicle.BigTruck, matc, false); this.TestResolveOnEdge(name, "cycleway", Vehicle.BigTruck, matc, false); this.TestResolveOnEdge(name, "bridleway", Vehicle.BigTruck, matc, false); this.TestResolveOnEdge(name, "path", Vehicle.BigTruck, matc, false); this.TestResolveOnEdge(name, "pedestrian", Vehicle.BigTruck, matc, false); this.TestResolveOnEdge(name, "road", Vehicle.BigTruck, matc, true); this.TestResolveOnEdge(name, "living_street", Vehicle.BigTruck, matc, true); this.TestResolveOnEdge(name, "residential", Vehicle.BigTruck, matc, true); this.TestResolveOnEdge(name, "unclassified", Vehicle.BigTruck, matc, true); this.TestResolveOnEdge(name, "tertiary", Vehicle.BigTruck, matc, true); this.TestResolveOnEdge(name, "secondary", Vehicle.BigTruck, matc, true); this.TestResolveOnEdge(name, "primary", Vehicle.BigTruck, matc, true); this.TestResolveOnEdge(name, "trunk", Vehicle.BigTruck, matc, true); this.TestResolveOnEdge(name, "motorway", Vehicle.BigTruck, matc, true); this.TestResolveOnEdge(name, "footway", Vehicle.Bus, matc, false); this.TestResolveOnEdge(name, "cycleway", Vehicle.Bus, matc, false); this.TestResolveOnEdge(name, "bridleway", Vehicle.Bus, matc, false); this.TestResolveOnEdge(name, "path", Vehicle.Bus, matc, false); this.TestResolveOnEdge(name, "pedestrian", Vehicle.Bus, matc, false); this.TestResolveOnEdge(name, "road", Vehicle.Bus, matc, true); this.TestResolveOnEdge(name, "living_street", Vehicle.Bus, matc, true); this.TestResolveOnEdge(name, "residential", Vehicle.Bus, matc, true); this.TestResolveOnEdge(name, "unclassified", Vehicle.Bus, matc, true); this.TestResolveOnEdge(name, "tertiary", Vehicle.Bus, matc, true); this.TestResolveOnEdge(name, "secondary", Vehicle.Bus, matc, true); this.TestResolveOnEdge(name, "primary", Vehicle.Bus, matc, true); this.TestResolveOnEdge(name, "trunk", Vehicle.Bus, matc, true); this.TestResolveOnEdge(name, "motorway", Vehicle.Bus, matc, true); }