mirror of
https://github.com/AmanTahiliani/box-box.git
synced 2026-08-07 11:54:59 -04:00
fix(compare): gap deltas beyond reference laps
This commit is contained in:
@@ -35,12 +35,12 @@ function buildAlignedCumulative(
|
||||
const length = Math.max(lapTimes.length, referenceLapTimes.length)
|
||||
|
||||
for (let i = 0; i < length; i++) {
|
||||
if (referenceLapTimes[i] === null) {
|
||||
if (referenceLapTimes[i] == null) {
|
||||
cumulative.push(running)
|
||||
continue
|
||||
}
|
||||
const lap = lapTimes[i]
|
||||
if (lap !== null) {
|
||||
if (lap != null) {
|
||||
running += lap
|
||||
}
|
||||
cumulative.push(running)
|
||||
@@ -84,7 +84,7 @@ export function computeCumulativeDeltas(
|
||||
const deltas: (number | null)[] = []
|
||||
|
||||
for (let i = 0; i < lapCount; i++) {
|
||||
if (refLapTimes[i] === null || driver.lapTimes[i] === null) {
|
||||
if (refLapTimes[i] == null || driver.lapTimes[i] == null) {
|
||||
deltas.push(null)
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -78,6 +78,23 @@ describe('computeCumulativeDeltas', () => {
|
||||
expect(result[0].deltas[2]).toBeCloseTo(-3)
|
||||
})
|
||||
|
||||
it('gaps challenger laps beyond a shorter reference series', () => {
|
||||
const shortReference: DeltaSeries = {
|
||||
label: 'VER',
|
||||
color: '#3671C6',
|
||||
lapTimes: [90, 91],
|
||||
}
|
||||
const longerChallenger: DeltaSeries = {
|
||||
label: 'HAM',
|
||||
color: '#E8002D',
|
||||
lapTimes: [89, 92, 90],
|
||||
}
|
||||
const result = computeCumulativeDeltas([shortReference, longerChallenger])
|
||||
expect(result[0].deltas[0]).toBeCloseTo(-1)
|
||||
expect(result[0].deltas[1]).toBeCloseTo(0)
|
||||
expect(result[0].deltas[2]).toBeNull()
|
||||
})
|
||||
|
||||
it('returns an empty array when only one series is provided', () => {
|
||||
expect(computeCumulativeDeltas([reference])).toEqual([])
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user