@@ -553,3 +553,67 @@ impl<CurveImpl: Curve> Lrs<CurveImpl> {
553
553
Ok ( geo:: Line :: new ( start, end) )
554
554
}
555
555
}
556
+
557
+ #[ cfg( test) ]
558
+ mod tests {
559
+ use geo:: line_string;
560
+
561
+ use crate :: { curves:: LineStringCurve , lrm_scale:: LrmScale } ;
562
+
563
+ use super :: * ;
564
+
565
+ fn lrs ( ) -> Lrs < LineStringCurve > {
566
+ let lrm = Lrm {
567
+ reference_traversal : TraversalHandle ( 0 ) ,
568
+ scale : crate :: lrm_scale:: tests:: scale ( ) ,
569
+ traversals : vec ! [ TraversalHandle ( 0 ) ] ,
570
+ } ;
571
+
572
+ let traversal = Traversal {
573
+ curve : LineStringCurve :: new ( line_string ! [ ( x: 0. , y: 0. ) , ( x: 1. , y: 1. ) ] , 1. ) ,
574
+ id : "curve" . to_owned ( ) ,
575
+ lrms : vec ! [ LrmHandle ( 0 ) ] ,
576
+ } ;
577
+
578
+ Lrs {
579
+ lrms : vec ! [ lrm] ,
580
+ traversals : vec ! [ traversal] ,
581
+ }
582
+ }
583
+
584
+ #[ test]
585
+ fn get_lrm ( ) {
586
+ //let lrs = lrs();
587
+ }
588
+ /*fn get_lrm(&self, lrm_id: String) -> Option<LrmHandle>;
589
+ fn get_traversal(&self, traversal_id: String) -> Option<TraversalHandle>;
590
+ fn lookup(&self, point: Point, lrm: LrmHandle) -> Vec<LrmProjection>;
591
+ fn lookup_lrms(&self, point: Point) -> Vec<LrmProjection>;
592
+ fn lookup_traversals(&self, point: Point) -> Vec<TraversalProjection>;
593
+ fn locate_traversal(&self, position: TraversalPosition) -> Result<Point, LrsError>;
594
+ fn get_lrm_applicable_traversals(&self, lrm: LrmHandle) -> &[TraversalHandle];
595
+ fn get_lrm_reference_traversal(&self, lrm: LrmHandle) -> TraversalHandle;
596
+ fn get_traversal_lrms(&self, traversal: TraversalHandle) -> &[LrmHandle];
597
+ fn traversal_project(
598
+ &self,
599
+ position: TraversalPosition,
600
+ onto: TraversalHandle,
601
+ ) -> Result<TraversalProjection, LrsError>;
602
+ fn traversal_project_range(
603
+ &self,
604
+ range: TraversalRange,
605
+ onto: TraversalHandle,
606
+ ) -> Result<TraversalRange, LrsError>;
607
+ fn lrm_project(
608
+ &self,
609
+ position: TraversalPosition,
610
+ onto: LrmHandle,
611
+ ) -> Result<LrmProjection, LrsError>;
612
+ fn lrm_project_range(
613
+ &self,
614
+ range: TraversalRange,
615
+ onto: LrmHandle,
616
+ ) -> Result<LrmRange, LrsError>;
617
+ fn lrm_get_measure(&self, position: LrmPosition) -> Result<LrmMeasure, LrsError>;
618
+ fn lrm_get_position(&self, measure: LrmMeasure) -> Result<LrmPosition, LrsError>;*/
619
+ }
0 commit comments