package Ġcom . mapbox . navigation . core . replay . route 2 Ċ Ċ import Ġcom . mapbox . geojson . Point Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Assert . assertTrue Ċ import Ġorg . junit . Test Ċ Ċ class ĠRe play Route Interpolator Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġdefault Options Ġ= ĠRe play Route Options . Builder (). build () ĊĠĠĠ Ġprivate Ġval Ġroute Interpolator Ġ= ĠRe play Route Interpolator () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġaccel erate Ġto Ġmax Ġspeed `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstart Speed M ps Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠ Ġval Ġmax Speed M ps Ġ= Ġdefault Options . max Speed M ps ĊĠĠĠĠĠĠĠ Ġval Ġdistance Met ers Ġ= Ġ 2 0 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġval Ġsegment Ġ= Ġroute Interpolator . interpolate Speed ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Options , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Speed M ps , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmax Speed M ps , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdistance Met ers ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġcurrent Speed Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠ Ġsegment . steps . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġspeed M ps Ġ= Ġit . speed M ps ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ("$ current Speed Ġ<= Ġ$ speed M ps ", Ġcurrent Speed Ġ<= Ġspeed M ps ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ("$ current Speed Ġ<= Ġ$ max Speed M ps ", Ġcurrent Speed Ġ<= Ġmax Speed M ps ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Speed Ġ= Ġspeed M ps ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( segment . steps . last (). speed M ps , Ġdefault Options . max Speed M ps , Ġ 0 . 0 0 1 ) ĊĠĠĠĠĠĠĠ ĠassertTrue ("${ segment . steps . size } Ġ< Ġ 1 4 ", Ġsegment . steps . size Ġ< Ġ 1 4 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġnot Ġexceed Ġmax Ġacceleration `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstart Speed M ps Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠ Ġval Ġmax Speed M ps Ġ= Ġdefault Options . max Speed M ps ĊĠĠĠĠĠĠĠ Ġval Ġdistance Met ers Ġ= Ġ 2 0 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġval Ġsegment Ġ= Ġroute Interpolator . interpolate Speed ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Options , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Speed M ps , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmax Speed M ps , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdistance Met ers ) ĊĊĠĠĠĠĠĠĠ Ġsegment . steps . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( it . acceleration Ġ<= Ġdefault Options . max Acceleration ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġstart Ġand Ġend Ġat Ġthe Ġsame Ġspeed `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstart Speed M ps Ġ= Ġ 2 0 . 0 ĊĠĠĠĠĠĠĠ Ġval Ġend Speed M ps Ġ= Ġ 2 0 . 0 ĊĠĠĠĠĠĠĠ Ġval Ġdistance Met ers Ġ= Ġ 2 0 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġval Ġsegment Ġ= Ġroute Interpolator . interpolate Speed ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Options , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Speed M ps , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Speed M ps , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdistance Met ers ) ĊĊĠĠĠĠĠĠĠ Ġsegment . steps . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( size Ġ> Ġ 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( first (). speed M ps Ġ<= Ġstart Speed M ps ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( last (). speed M ps , Ġend Speed M ps , Ġ 0 . 0 0 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertTrue ("${ segment . steps . size } Ġ< Ġ 1 4 ", Ġsegment . steps . size Ġ< Ġ 1 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġcome Ġclose Ġto Ġa Ġstop Ġfrom Ġhigh Ġspeed `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstart Speed M ps Ġ= Ġ 3 0 . 0 ĊĠĠĠĠĠĠĠ Ġval Ġend Speed M ps Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠ Ġval Ġdistance Met ers Ġ= Ġ 1 6 6 . 1 2 3 ĊĊĠĠĠĠĠĠĠ Ġval Ġsegment Ġ= Ġroute Interpolator . interpolate Speed ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Options , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Speed M ps , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Speed M ps , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdistance Met ers ) ĊĊĠĠĠĠĠĠĠ Ġsegment . steps . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( first (). speed M ps Ġ<= Ġstart Speed M ps ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( last (). speed M ps Ġ< Ġ 0 . 0 0 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertTrue ("${ segment . steps . size } Ġ< Ġ 1 2 ", Ġsegment . steps . size Ġ< Ġ 1 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġcome Ġclose Ġto Ġstop Ġfrom Ġlow Ġspeed `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstart Speed M ps Ġ= Ġ 6 . 0 ĊĠĠĠĠĠĠĠ Ġval Ġend Speed M ps Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠ Ġval Ġdistance Met ers Ġ= Ġ 1 0 7 . 1 9 7 ĊĊĠĠĠĠĠĠĠ Ġval Ġsegment Ġ= Ġroute Interpolator . interpolate Speed ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Options , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Speed M ps , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Speed M ps , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdistance Met ers ) ĊĊĠĠĠĠĠĠĠ Ġsegment . steps . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( first (). speed M ps Ġ<= Ġstart Speed M ps ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( last (). speed M ps Ġ< Ġ 0 . 0 0 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertTrue ("${ segment . steps . size } Ġ< Ġ 1 3 ", Ġsegment . steps . size Ġ< Ġ 1 3 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġreach Ġend Ġat Ġcorrect Ġdistance `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstart Speed M ps Ġ= Ġ 9 . 5 4 4 9 6 ĊĠĠĠĠĠĠĠ Ġval Ġend Speed M ps Ġ= Ġ 9 . 3 4 8 1 ĊĠĠĠĠĠĠĠ Ġval Ġdistance Met ers Ġ= Ġ 3 6 1 . 6 3 7 ĊĊĠĠĠĠĠĠĠ Ġval Ġsegment Ġ= Ġroute Interpolator . interpolate Speed ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Options , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Speed M ps , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Speed M ps , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdistance Met ers ) ĊĊĠĠĠĠĠĠĠ Ġsegment . steps . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( size Ġ> Ġ 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( last (). position Met ers , Ġ 3 6 1 . 6 3 7 , Ġ 0 . 0 0 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertTrue ("${ segment . steps . size } Ġ< Ġ 2 0 ", Ġsegment . steps . size Ġ< Ġ 2 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġhandle Ġdistances Ġat Ġlow Ġprecision `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstart Speed M ps Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠ Ġval Ġend Speed M ps Ġ= Ġ 3 . 0 ĊĠĠĠĠĠĠĠ Ġval Ġdistance Met ers Ġ= Ġ 2 2 3 . 9 6 6 3 0 3 9 0 7 3 7 9 1 7 ĊĊĠĠĠĠĠĠĠ Ġval Ġsegment Ġ= Ġroute Interpolator . interpolate Speed ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Options , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Speed M ps , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Speed M ps , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdistance Met ers ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 2 3 . 9 6 6 3 0 3 9 0 7 3 7 9 1 7 , Ġsegment . steps . last (). position Met ers , Ġ 0 . 0 0 0 0 1 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 . 0 , Ġsegment . end Speed M ps , Ġ 0 . 0 0 0 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġcreate Ġspeed Ġfor Ġeach Ġpoint `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcoordinates Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 1 . 4 6 9 9 1 , Ġ 3 8 . 5 5 0 8 7 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 1 . 4 7 0 2 3 1 , Ġ 3 8 . 5 5 0 9 6 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 1 . 4 6 8 8 3 4 , Ġ 3 8 . 5 5 0 7 6 5 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġspeed Profile Ġ= Ġroute Interpolator . create Speed Profile ( default Options , Ġcoordinates ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( speed Profile . size , Ġcoordinates . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġprofile Ġu Ġturns Ġto Ġbe Ġvery Ġslow `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcoordinates Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 1 . 4 7 0 2 3 1 , Ġ 3 8 . 5 5 0 9 6 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 1 . 4 6 9 8 8 7 , Ġ 3 8 . 5 5 1 7 5 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 1 . 4 7 0 2 3 1 , Ġ 3 8 . 5 5 0 9 6 4 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġspeed Profile Ġ= Ġroute Interpolator . create Speed Profile ( default Options , Ġcoordinates ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 . 0 , Ġspeed Profile [ 1 ]. speed M ps , Ġdefault Options . u Turn Speed M ps ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġslow Ġdown Ġfor Ġend Ġof Ġroute `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcoordinates Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 3 5 9 , Ġ 3 7 . 7 3 6 3 5 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 3 5 9 , Ġ 3 7 . 7 3 6 3 4 7 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 3 7 5 , Ġ 3 7 . 7 3 6 2 9 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 4 1 3 , Ġ 3 7 . 7 3 6 2 1 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 4 2 8 , Ġ 3 7 . 7 3 6 1 5 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 4 4 3 , Ġ 3 7 . 7 3 6 0 9 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 4 5 1 , Ġ 3 7 . 7 3 6 0 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 4 8 1 , Ġ 3 7 . 7 3 5 9 1 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 4 8 9 , Ġ 3 7 . 7 3 5 8 3 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 4 9 7 , Ġ 3 7 . 7 3 5 7 5 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 4 8 9 , Ġ 3 7 . 7 3 5 6 7 9 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 4 7 4 , Ġ 3 7 . 7 3 5 6 1 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 4 3 6 , Ġ 3 7 . 7 3 5 5 5 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 3 6 7 , Ġ 3 7 . 7 3 5 5 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 3 3 6 , Ġ 3 7 . 7 3 5 5 4 9 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 3 0 6 , Ġ 3 7 . 7 3 5 5 7 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 2 7 5 , Ġ 3 7 . 7 3 5 5 9 5 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 2 3 , Ġ 3 7 . 7 3 5 6 1 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 2 4 5 , Ġ 3 7 . 7 3 5 6 2 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 2 9 8 , Ġ 3 7 . 7 3 5 7 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 3 3 6 , Ġ 3 7 . 7 3 5 8 0 9 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 3 5 9 , Ġ 3 7 . 7 3 5 8 9 7 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 3 5 9 , Ġ 3 7 . 7 3 5 9 8 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 3 5 2 , Ġ 3 7 . 7 3 6 0 8 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 3 6 7 , Ġ 3 7 . 7 3 6 1 2 9 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 4 3 7 5 , Ġ 3 7 . 7 3 6 1 4 1 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġspeed Profile Ġ= Ġroute Interpolator . create Speed Profile ( default Options , Ġcoordinates ) ĊĊĠĠĠĠĠĠĠ Ġspeed Profile . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ("${ it . speed M ps } Ġ< Ġ 2 0 . 0 ", Ġit . speed M ps Ġ< Ġ 2 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġslow Ġdown Ġfor Ġupcoming Ġturns `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcoordinates Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 5 9 4 6 , Ġ 3 7 . 7 3 7 0 7 5 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 6 5 1 1 , Ġ 3 7 . 7 3 7 5 9 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 7 7 8 5 , Ġ 3 7 . 7 3 8 0 3 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPoint . from Lng Lat (- 1 2 2 . 4 4 7 9 9 9 , Ġ 3 7 . 7 3 8 0 6 3 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġspeed Profile Ġ= Ġroute Interpolator . create Speed Profile ( default Options , Ġcoordinates ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠAll Ġcoordinates Ġshould Ġbe Ġused Ġfor Ġthis Ġspeed Ġprofile ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 , Ġspeed Profile . size ) ĊĠĠĠĠĠĠĠ Ġ// ĠAssume Ġ- 4 . 0 Ġmin Acceleration Ġfor Ġthis Ġtest ĊĠĠĠĠĠĠĠ ĠassertEquals (- 4 . 0 , Ġdefault Options . min Acceleration , Ġ 0 . 0 0 1 ) ĊĠĠĠĠĠĠĠ Ġ// ĠTo Ġstop Ġin Ġ 1 9 Ġmeters , Ġyou Ġneed Ġto Ġbe Ġgoing Ġabout Ġ 1 2 mps ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 9 . 0 , Ġspeed Profile [ 2 ]. distance , Ġ 0 . 5 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 2 . 0 , Ġspeed Profile [ 2 ]. speed M ps , Ġ 0 . 5 ) ĊĠĠĠ Ġ} Ċ } Ċ