Skip to content

Commit d8fdefd

Browse files
authored
Add name field to TickSequence (#316)
1 parent 4ae9b5d commit d8fdefd

File tree

6 files changed

+41
-3
lines changed

6 files changed

+41
-3
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ All notable changes to this project will be documented in this file.
2424

2525
### Added
2626
- Add `IterationMode` parameter to `TickSequence`.
27+
- Add `name` property to `TickSequence`.
2728

2829
### Fixed
2930
- Fix ``TotalTickDifferenceMetric`` throwing ``IllegalStateException`` when presented the same tick twice.

stars-core/src/main/kotlin/tools/aqua/stars/core/evaluation/TickSequence.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import tools.aqua.stars.core.utils.nextOrNull
3232
* The sequence can only be consumed once.
3333
*
3434
* @param T [TickDataType].
35+
* @property name The name/origin of the sequence.
3536
* @property bufferSize The maximum size of the buffer. If the size exceeds this limit, the oldest
3637
* tick is removed.
3738
* @property iterationOrder The order in which ticks are returned.
@@ -40,6 +41,7 @@ import tools.aqua.stars.core.utils.nextOrNull
4041
* @param getNextValue The generator function that lazily returns the next tick.
4142
*/
4243
class TickSequence<T : TickDataType<*, T, *, *>>(
44+
val name: String,
4345
val bufferSize: Int = 100,
4446
val iterationOrder: IterationOrder = IterationOrder.FORWARD,
4547
val iterationMode: IterationMode = IterationMode.FULL_FRAME,
@@ -209,6 +211,7 @@ class TickSequence<T : TickDataType<*, T, *, *>>(
209211
* Creates a [TickSequence] from an [Iterable] of [TickDataType]s.
210212
*
211213
* @param T [TickDataType].
214+
* @param name The name/origin of the sequence.
212215
* @param bufferSize The maximum size of the buffer. If the size exceeds this limit, the oldest
213216
* tick is removed.
214217
* @param iterationOrder The order in which ticks are returned.
@@ -217,11 +220,13 @@ class TickSequence<T : TickDataType<*, T, *, *>>(
217220
* @return A [TickSequence] that iterates over the elements of the given [Iterable].
218221
*/
219222
fun <T : TickDataType<*, T, *, *>> Iterable<T>.asTickSequence(
223+
name: String = "",
220224
bufferSize: Int = 100,
221225
iterationOrder: IterationOrder = IterationOrder.FORWARD,
222226
iterationMode: IterationMode = IterationMode.FULL_FRAME,
223227
): TickSequence<T> =
224228
TickSequence(
229+
name = name,
225230
bufferSize = bufferSize,
226231
iterationOrder = iterationOrder,
227232
iterationMode = iterationMode,

stars-core/src/test/kotlin/tools/aqua/stars/core/evaluation/TickSequenceTest.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class TickSequenceTest {
3232
/** Test empty [TickSequence]. */
3333
@Test
3434
fun `Test empty TickSequence`() {
35-
val sequence = TickSequence { null }
35+
val sequence = TickSequence("") { null }
3636
assertTrue(sequence.toList().isEmpty())
3737
}
3838

@@ -76,6 +76,7 @@ class TickSequenceTest {
7676
var i = 0L
7777
val sequence =
7878
TickSequence(
79+
name = "",
7980
iterationOrder = TickSequence.IterationOrder.FORWARD,
8081
iterationMode = TickSequence.IterationMode.END_FILLED,
8182
) {
@@ -160,7 +161,7 @@ class TickSequenceTest {
160161
/** Test once constraint. */
161162
@Test
162163
fun `Test once constraint`() {
163-
val sequence = TickSequence { null }
164+
val sequence = TickSequence("") { null }
164165
sequence.iterator()
165166

166167
assertFailsWith<IllegalStateException> { sequence.iterator() }

stars-core/src/test/kotlin/tools/aqua/stars/core/evaluation/TickSequenceTestBackward.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ class TickSequenceTestBackward {
3232
var i = 0L
3333
val sequence =
3434
TickSequence(
35+
name = "",
3536
iterationOrder = TickSequence.IterationOrder.BACKWARD,
3637
iterationMode = TickSequence.IterationMode.END_FILLED,
3738
) {
@@ -56,6 +57,7 @@ class TickSequenceTestBackward {
5657
var i = 0L
5758
val sequence =
5859
TickSequence(
60+
name = "",
5961
iterationOrder = TickSequence.IterationOrder.BACKWARD,
6062
iterationMode = TickSequence.IterationMode.END_FILLED,
6163
) {
@@ -92,6 +94,7 @@ class TickSequenceTestBackward {
9294
var i = 0L
9395
val sequence =
9496
TickSequence(
97+
name = "",
9598
bufferSize = 3,
9699
iterationOrder = TickSequence.IterationOrder.BACKWARD,
97100
iterationMode = TickSequence.IterationMode.END_FILLED,
@@ -142,6 +145,7 @@ class TickSequenceTestBackward {
142145
var i = 0L
143146
val sequence =
144147
TickSequence(
148+
name = "",
145149
bufferSize = 3,
146150
iterationOrder = TickSequence.IterationOrder.BACKWARD,
147151
iterationMode = TickSequence.IterationMode.FULL_FRAME,
@@ -181,6 +185,7 @@ class TickSequenceTestBackward {
181185
var i = 0L
182186
val sequence =
183187
TickSequence(
188+
name = "",
184189
bufferSize = 3,
185190
iterationOrder = TickSequence.IterationOrder.BACKWARD,
186191
iterationMode = TickSequence.IterationMode.START_FILLED,
@@ -231,6 +236,7 @@ class TickSequenceTestBackward {
231236
var i = 0L
232237
val sequence =
233238
TickSequence(
239+
name = "",
234240
bufferSize = 3,
235241
iterationOrder = TickSequence.IterationOrder.BACKWARD,
236242
iterationMode = TickSequence.IterationMode.FULL,
@@ -296,6 +302,7 @@ class TickSequenceTestBackward {
296302
var i = 0L
297303
val sequence =
298304
TickSequence(
305+
name = "",
299306
bufferSize = 5,
300307
iterationOrder = TickSequence.IterationOrder.BACKWARD,
301308
iterationMode = TickSequence.IterationMode.END_FILLED,
@@ -335,6 +342,7 @@ class TickSequenceTestBackward {
335342
var i = 0L
336343
val sequence =
337344
TickSequence(
345+
name = "",
338346
bufferSize = 5,
339347
iterationOrder = TickSequence.IterationOrder.BACKWARD,
340348
iterationMode = TickSequence.IterationMode.FULL_FRAME,
@@ -355,6 +363,7 @@ class TickSequenceTestBackward {
355363
var i = 0L
356364
val sequence =
357365
TickSequence(
366+
name = "",
358367
bufferSize = 3,
359368
iterationOrder = TickSequence.IterationOrder.BACKWARD,
360369
iterationMode = TickSequence.IterationMode.FULL_FRAME,
@@ -385,6 +394,7 @@ class TickSequenceTestBackward {
385394
var i = 0L
386395
val sequence =
387396
TickSequence(
397+
name = "",
388398
bufferSize = 5,
389399
iterationOrder = TickSequence.IterationOrder.BACKWARD,
390400
iterationMode = TickSequence.IterationMode.START_FILLED,
@@ -405,6 +415,7 @@ class TickSequenceTestBackward {
405415
var i = 0L
406416
val sequence =
407417
TickSequence(
418+
name = "",
408419
bufferSize = 3,
409420
iterationOrder = TickSequence.IterationOrder.BACKWARD,
410421
iterationMode = TickSequence.IterationMode.START_FILLED,
@@ -445,6 +456,7 @@ class TickSequenceTestBackward {
445456
var i = 0L
446457
val sequence =
447458
TickSequence(
459+
name = "",
448460
bufferSize = 5,
449461
iterationOrder = TickSequence.IterationOrder.BACKWARD,
450462
iterationMode = TickSequence.IterationMode.FULL,

stars-core/src/test/kotlin/tools/aqua/stars/core/evaluation/TickSequenceTestForward.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ class TickSequenceTestForward {
3232
var i = 0L
3333
val sequence =
3434
TickSequence(
35+
name = "",
3536
iterationOrder = TickSequence.IterationOrder.FORWARD,
3637
iterationMode = TickSequence.IterationMode.END_FILLED,
3738
) {
@@ -64,6 +65,7 @@ class TickSequenceTestForward {
6465
var i = 0L
6566
val sequence =
6667
TickSequence(
68+
name = "",
6769
iterationOrder = TickSequence.IterationOrder.FORWARD,
6870
iterationMode = TickSequence.IterationMode.END_FILLED,
6971
) {
@@ -101,6 +103,7 @@ class TickSequenceTestForward {
101103
var i = 0L
102104
val sequence =
103105
TickSequence(
106+
name = "",
104107
bufferSize = 3,
105108
iterationOrder = TickSequence.IterationOrder.FORWARD,
106109
iterationMode = TickSequence.IterationMode.END_FILLED,
@@ -151,6 +154,7 @@ class TickSequenceTestForward {
151154
var i = 0L
152155
val sequence =
153156
TickSequence(
157+
name = "",
154158
bufferSize = 3,
155159
iterationOrder = TickSequence.IterationOrder.FORWARD,
156160
iterationMode = TickSequence.IterationMode.FULL_FRAME,
@@ -190,6 +194,7 @@ class TickSequenceTestForward {
190194
var i = 0L
191195
val sequence =
192196
TickSequence(
197+
name = "",
193198
bufferSize = 3,
194199
iterationOrder = TickSequence.IterationOrder.FORWARD,
195200
iterationMode = TickSequence.IterationMode.START_FILLED,
@@ -240,6 +245,7 @@ class TickSequenceTestForward {
240245
var i = 0L
241246
val sequence =
242247
TickSequence(
248+
name = "",
243249
bufferSize = 3,
244250
iterationOrder = TickSequence.IterationOrder.FORWARD,
245251
iterationMode = TickSequence.IterationMode.FULL,
@@ -305,6 +311,7 @@ class TickSequenceTestForward {
305311
var i = 0L
306312
val sequence =
307313
TickSequence(
314+
name = "",
308315
bufferSize = 5,
309316
iterationOrder = TickSequence.IterationOrder.FORWARD,
310317
iterationMode = TickSequence.IterationMode.END_FILLED,
@@ -344,6 +351,7 @@ class TickSequenceTestForward {
344351
var i = 0L
345352
val sequence =
346353
TickSequence(
354+
name = "",
347355
bufferSize = 5,
348356
iterationOrder = TickSequence.IterationOrder.FORWARD,
349357
iterationMode = TickSequence.IterationMode.FULL_FRAME,
@@ -364,6 +372,7 @@ class TickSequenceTestForward {
364372
var i = 0L
365373
val sequence =
366374
TickSequence(
375+
name = "",
367376
bufferSize = 3,
368377
iterationOrder = TickSequence.IterationOrder.FORWARD,
369378
iterationMode = TickSequence.IterationMode.FULL_FRAME,
@@ -394,6 +403,7 @@ class TickSequenceTestForward {
394403
var i = 0L
395404
val sequence =
396405
TickSequence(
406+
name = "",
397407
bufferSize = 5,
398408
iterationOrder = TickSequence.IterationOrder.FORWARD,
399409
iterationMode = TickSequence.IterationMode.START_FILLED,
@@ -414,6 +424,7 @@ class TickSequenceTestForward {
414424
var i = 0L
415425
val sequence =
416426
TickSequence(
427+
name = "",
417428
bufferSize = 3,
418429
iterationOrder = TickSequence.IterationOrder.FORWARD,
419430
iterationMode = TickSequence.IterationMode.START_FILLED,
@@ -454,6 +465,7 @@ class TickSequenceTestForward {
454465
var i = 0L
455466
val sequence =
456467
TickSequence(
468+
name = "",
457469
bufferSize = 5,
458470
iterationOrder = TickSequence.IterationOrder.FORWARD,
459471
iterationMode = TickSequence.IterationMode.FULL,

stars-importer-carla/src/main/kotlin/tools/aqua/stars/importer/carla/carlaDataFileHandling.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,14 @@ fun loadTicks(
173173

174174
for (ticks in ticksPerEgo) {
175175
val it = ticks.iterator()
176-
yield(TickSequence(bufferSize) { if (it.hasNext()) it.next() else null })
176+
yield(
177+
TickSequence(
178+
"TickSequence with ego: ${ticks.first().ego.id}",
179+
bufferSize,
180+
) {
181+
if (it.hasNext()) it.next() else null
182+
}
183+
)
177184
}
178185
}
179186
}

0 commit comments

Comments
 (0)