@@ -47,7 +47,7 @@ function setupTrackIterator(trackPieces: TrackPiece[], trackStartIndex?: number)
4747 x : Math . floor ( p . position . x / 32 ) ,
4848 y : Math . floor ( p . position . y / 32 ) ,
4949 elements : [
50- Mock . trackElement ( { type : "track" , baseZ : p . position . z , direction : p . position . direction } )
50+ Mock . trackElement ( { type : "track" , baseZ : p . position . z , direction : p . position . direction , trackType : p . type } )
5151 ]
5252 } ) ) ,
5353 getTrackIterator ( )
@@ -70,7 +70,7 @@ function setupTrackIterator(trackPieces: TrackPiece[], trackStartIndex?: number)
7070test ( "Flat track: move forward by 1" , t =>
7171{
7272 setupTrackIterator ( [ flatTrackPiece ] ) ;
73- const car = Mock . car ( { trackProgress : 5 , remainingDistance : ForwardRemainingDistance } ) ;
73+ const car = Mock . car ( { trackProgress : 5 , remainingDistance : ForwardRemainingDistance , trackLocation : flatTrackPiece . toLocation ( ) } ) ;
7474
7575 const distance = getDistanceFromProgress ( car , 1 ) ;
7676
@@ -81,7 +81,7 @@ test("Flat track: move forward by 1", t =>
8181test ( "Flat track: move forward by 10" , t =>
8282{
8383 setupTrackIterator ( [ flatTrackPiece ] ) ;
84- const car = Mock . car ( { trackProgress : 5 , remainingDistance : ForwardRemainingDistance } ) ;
84+ const car = Mock . car ( { trackProgress : 5 , remainingDistance : ForwardRemainingDistance , trackLocation : flatTrackPiece . toLocation ( ) } ) ;
8585
8686 const distance = getDistanceFromProgress ( car , 10 ) ;
8787
@@ -92,7 +92,7 @@ test("Flat track: move forward by 10", t =>
9292test ( "Flat track: move forward by 31" , t =>
9393{
9494 setupTrackIterator ( [ flatTrackPiece ] ) ;
95- const car = Mock . car ( { trackProgress : 0 , remainingDistance : ForwardRemainingDistance } ) ;
95+ const car = Mock . car ( { trackProgress : 0 , remainingDistance : ForwardRemainingDistance , trackLocation : flatTrackPiece . toLocation ( ) } ) ;
9696
9797 const distance = getDistanceFromProgress ( car , 31 ) ;
9898
@@ -103,7 +103,7 @@ test("Flat track: move forward by 31", t =>
103103test ( "Flat track: move forward by 10 until end of track" , t =>
104104{
105105 setupTrackIterator ( [ flatTrackPiece ] ) ;
106- const car = Mock . car ( { trackProgress : 25 , remainingDistance : ForwardRemainingDistance } ) ;
106+ const car = Mock . car ( { trackProgress : 25 , remainingDistance : ForwardRemainingDistance , trackLocation : flatTrackPiece . toLocation ( ) } ) ;
107107
108108 const distance = getDistanceFromProgress ( car , 10 ) ;
109109
@@ -114,7 +114,7 @@ test("Flat track: move forward by 10 until end of track", t =>
114114test ( "Flat track: jump forward by 50 until end of track" , t =>
115115{
116116 setupTrackIterator ( [ flatTrackPiece ] ) ;
117- const car = Mock . car ( { trackProgress : 0 , remainingDistance : ForwardRemainingDistance } ) ;
117+ const car = Mock . car ( { trackProgress : 0 , remainingDistance : ForwardRemainingDistance , trackLocation : flatTrackPiece . toLocation ( ) } ) ;
118118
119119 const distance = getDistanceFromProgress ( car , 50 ) ;
120120
@@ -125,7 +125,7 @@ test("Flat track: jump forward by 50 until end of track", t =>
125125test ( "Flat track: move backwards by 1" , t =>
126126{
127127 setupTrackIterator ( [ flatTrackPiece ] ) ;
128- const car = Mock . car ( { trackProgress : 21 } ) ;
128+ const car = Mock . car ( { trackProgress : 21 , trackLocation : flatTrackPiece . toLocation ( ) } ) ;
129129
130130 const distance = getDistanceFromProgress ( car , - 1 ) ;
131131
@@ -136,7 +136,7 @@ test("Flat track: move backwards by 1", t =>
136136test ( "Flat track: move backwards by 10" , t =>
137137{
138138 setupTrackIterator ( [ flatTrackPiece ] ) ;
139- const car = Mock . car ( { trackProgress : 21 } ) ;
139+ const car = Mock . car ( { trackProgress : 21 , trackLocation : flatTrackPiece . toLocation ( ) } ) ;
140140
141141 const distance = getDistanceFromProgress ( car , - 10 ) ;
142142
@@ -147,7 +147,7 @@ test("Flat track: move backwards by 10", t =>
147147test ( "Flat track: move backwards by 31" , t =>
148148{
149149 setupTrackIterator ( [ flatTrackPiece ] ) ;
150- const car = Mock . car ( { trackProgress : 31 } ) ;
150+ const car = Mock . car ( { trackProgress : 31 , trackLocation : flatTrackPiece . toLocation ( ) } ) ;
151151
152152 const distance = getDistanceFromProgress ( car , - 31 ) ;
153153
@@ -158,7 +158,7 @@ test("Flat track: move backwards by 31", t =>
158158test ( "Flat track: move backwards by 10 until end of track" , t =>
159159{
160160 setupTrackIterator ( [ flatTrackPiece ] ) ;
161- const car = Mock . car ( { trackProgress : 5 } ) ;
161+ const car = Mock . car ( { trackProgress : 5 , trackLocation : flatTrackPiece . toLocation ( ) } ) ;
162162
163163 const distance = getDistanceFromProgress ( car , - 10 ) ;
164164
@@ -169,7 +169,7 @@ test("Flat track: move backwards by 10 until end of track", t =>
169169test ( "Flat track: jump backwards by 50 until end of track" , t =>
170170{
171171 setupTrackIterator ( [ flatTrackPiece ] ) ;
172- const car = Mock . car ( { trackProgress : 31 } ) ;
172+ const car = Mock . car ( { trackProgress : 31 , trackLocation : flatTrackPiece . toLocation ( ) } ) ;
173173
174174 const distance = getDistanceFromProgress ( car , - 50 ) ;
175175
@@ -180,7 +180,7 @@ test("Flat track: jump backwards by 50 until end of track", t =>
180180test ( "Two flat tracks: move to next by 1" , t =>
181181{
182182 setupTrackIterator ( [ flatTrackPiece , flatTrackPiece ] ) ;
183- const car = Mock . car ( { trackProgress : 31 , remainingDistance : ForwardRemainingDistance } ) ;
183+ const car = Mock . car ( { trackProgress : 31 , remainingDistance : ForwardRemainingDistance , trackLocation : flatTrackPiece . toLocation ( ) } ) ;
184184
185185 const distance = getDistanceFromProgress ( car , 1 ) ;
186186
@@ -191,7 +191,7 @@ test("Two flat tracks: move to next by 1", t =>
191191test ( "Two flat tracks: move to next by 10" , t =>
192192{
193193 setupTrackIterator ( [ flatTrackPiece , flatTrackPiece ] ) ;
194- const car = Mock . car ( { trackProgress : 28 , remainingDistance : ForwardRemainingDistance } ) ;
194+ const car = Mock . car ( { trackProgress : 28 , remainingDistance : ForwardRemainingDistance , trackLocation : flatTrackPiece . toLocation ( ) } ) ;
195195
196196 const distance = getDistanceFromProgress ( car , 10 ) ;
197197
@@ -202,7 +202,7 @@ test("Two flat tracks: move to next by 10", t =>
202202test ( "Two flat tracks: move to previous by 1" , t =>
203203{
204204 setupTrackIterator ( [ flatTrackPiece , flatTrackPiece ] , 1 ) ;
205- const car = Mock . car ( { trackProgress : 0 } ) ;
205+ const car = Mock . car ( { trackProgress : 0 , trackLocation : flatTrackPiece . toLocation ( ) } ) ;
206206
207207 const distance = getDistanceFromProgress ( car , - 1 ) ;
208208
@@ -213,7 +213,7 @@ test("Two flat tracks: move to previous by 1", t =>
213213test ( "Two flat tracks: move to previous by 10" , t =>
214214{
215215 setupTrackIterator ( [ flatTrackPiece , flatTrackPiece ] , 1 ) ;
216- const car = Mock . car ( { trackProgress : 4 } ) ;
216+ const car = Mock . car ( { trackProgress : 4 , trackLocation : flatTrackPiece . toLocation ( ) } ) ;
217217
218218 const distance = getDistanceFromProgress ( car , - 10 ) ;
219219
@@ -224,7 +224,7 @@ test("Two flat tracks: move to previous by 10", t =>
224224test ( "Three flat tracks: jump piece with move to next by 50" , t =>
225225{
226226 setupTrackIterator ( [ flatTrackPiece , flatTrackPiece , flatTrackPiece ] ) ;
227- const car = Mock . car ( { trackProgress : 27 , remainingDistance : ForwardRemainingDistance } ) ;
227+ const car = Mock . car ( { trackProgress : 27 , remainingDistance : ForwardRemainingDistance , trackLocation : flatTrackPiece . toLocation ( ) } ) ;
228228
229229 const distance = getDistanceFromProgress ( car , 50 ) ;
230230
@@ -235,7 +235,7 @@ test("Three flat tracks: jump piece with move to next by 50", t =>
235235test ( "Three flat tracks: jump piece with move to previous by 50" , t =>
236236{
237237 setupTrackIterator ( [ flatTrackPiece , flatTrackPiece , flatTrackPiece ] , 2 ) ;
238- const car = Mock . car ( { trackProgress : 3 } ) ;
238+ const car = Mock . car ( { trackProgress : 3 , trackLocation : flatTrackPiece . toLocation ( ) } ) ;
239239
240240 const distance = getDistanceFromProgress ( car , - 50 ) ;
241241
@@ -265,7 +265,7 @@ const curvyTest = test.macro({
265265 exec ( t , start : number , progress : number , expectedResult : number ) : void
266266 {
267267 setupTrackIterator ( [ curvyTrackPiece ] ) ;
268- const car = Mock . car ( { trackProgress : start , remainingDistance : ( progress >= 0 ) ? ForwardRemainingDistance : 0 } ) ;
268+ const car = Mock . car ( { trackProgress : start , remainingDistance : ( progress >= 0 ) ? ForwardRemainingDistance : 0 , trackLocation : curvyTrackPiece . toLocation ( ) } ) ;
269269
270270 const distance = getDistanceFromProgress ( car , progress ) ;
271271
@@ -367,7 +367,7 @@ test(multiTurnTest, 3, 1, -8, -(13961 + 10905 + 10905 + 8716 + 12327 + 8716 + 12
367367test ( "Flat track: move forward by 1 and account for remaining distance cap" , t =>
368368{
369369 setupTrackIterator ( [ flatTrackPiece ] ) ;
370- const car = Mock . car ( { trackProgress : 5 , remainingDistance : 1000 } ) ;
370+ const car = Mock . car ( { trackProgress : 5 , remainingDistance : 1000 , trackLocation : flatTrackPiece . toLocation ( ) } ) ;
371371
372372 const distance = getDistanceFromProgress ( car , 1 ) ;
373373
@@ -378,7 +378,7 @@ test("Flat track: move forward by 1 and account for remaining distance cap", t =
378378test ( "Flat track: move backwards by 1 and account for remaining distance cap" , t =>
379379{
380380 setupTrackIterator ( [ flatTrackPiece ] ) ;
381- const car = Mock . car ( { trackProgress : 21 , remainingDistance : 6000 } ) ;
381+ const car = Mock . car ( { trackProgress : 21 , remainingDistance : 6000 , trackLocation : flatTrackPiece . toLocation ( ) } ) ;
382382
383383 const distance = getDistanceFromProgress ( car , - 1 ) ;
384384
0 commit comments