mod common;
#[test]
fn junction_segment_lane_is_intersection_from_xodr_userdata() {
const XODR_FIXTURE: &str = include_str!("../data/xodr/TShapeRoadJunctionUserDataIntersection.xodr");
assert!(XODR_FIXTURE.contains("<userData code=\"junctionType\" value=\"intersection\"/>"));
let road_network = common::create_junction_userdata_intersection_road_network();
let road_geometry = road_network.road_geometry();
for i in 0..road_geometry.num_junctions() {
let junction = road_geometry.junction(i).unwrap();
if junction.id().as_str() == "3" {
assert_eq!(junction.is_intersection(), Some(true));
} else {
assert_eq!(junction.is_intersection(), Some(false));
}
for j in 0..junction.num_segments() {
let segment = junction.segment(j).unwrap();
assert_eq!(segment.is_intersection(), junction.is_intersection());
for k in 0..segment.num_lanes() {
let lane = segment.lane(k).unwrap();
assert_eq!(lane.is_intersection(), segment.is_intersection());
assert_eq!(lane.is_intersection(), junction.is_intersection());
}
}
}
}