93 lines
2.7 KiB
Kotlin
93 lines
2.7 KiB
Kotlin
package com.racingapp.pitlog.model
|
|
|
|
import com.racingapp.pitlog.data.SetupSheet
|
|
import org.junit.Assert.assertEquals
|
|
import org.junit.Assert.assertTrue
|
|
import org.junit.Test
|
|
|
|
class SetupLogTest {
|
|
@Test
|
|
fun diffsOnlyTheFieldsThatMoved() {
|
|
val original = SetupSheet(
|
|
recordedAt = 1L,
|
|
springRf = 1000,
|
|
toeFront = 0.125,
|
|
swayBarHole = 4,
|
|
)
|
|
val later = original.copy(
|
|
springRf = 1050,
|
|
toeFront = 0.063,
|
|
swayBarHole = 3,
|
|
)
|
|
assertEquals(
|
|
listOf(
|
|
"RF spring 1000 lb → 1050 lb",
|
|
"Sway bar Setting 4 → Setting 3",
|
|
"Front toe 1/8 in → 1/16 in",
|
|
),
|
|
setupDiffs(original, later),
|
|
)
|
|
}
|
|
|
|
@Test
|
|
fun anUnchangedSheetHasNoDiff() {
|
|
val sheet = SetupSheet(recordedAt = 1L, springLf = 950, camberRf = -7.0)
|
|
assertTrue(setupDiffs(sheet, sheet.copy(note = "perch tweak")).isEmpty())
|
|
}
|
|
|
|
@Test
|
|
fun deepSetupShowsWeightsHeightPinionAndBrake() {
|
|
val original = SetupSheet(
|
|
recordedAt = 1L,
|
|
weightLf = 800,
|
|
weightRf = 760,
|
|
weightLr = 740,
|
|
weightRr = 700,
|
|
rideHeight = 5.0,
|
|
pinion = -2.0,
|
|
brakeFront = 62.0,
|
|
)
|
|
val later = original.copy(
|
|
weightLf = 820,
|
|
rideHeight = 5.2,
|
|
pinion = -1.5,
|
|
brakeFront = 65.0,
|
|
)
|
|
assertEquals(
|
|
listOf(
|
|
"Weights LF 800 RF 760 LR 740 RR 700 lb",
|
|
"Total 3000 lb",
|
|
"Left 1540 lb, 51.3%",
|
|
"Front 1560 lb, 52%",
|
|
"Rear 1440 lb, 48%",
|
|
"Cross 1500 lb, 50%",
|
|
"Rear bite 40",
|
|
"Ride height 5 in",
|
|
"Pinion -2.0°",
|
|
"Front brake 62%",
|
|
),
|
|
setupLines(original),
|
|
)
|
|
assertEquals(
|
|
listOf(
|
|
"LF weight 800 lb → 820 lb",
|
|
"Total 3000 lb → 3020 lb",
|
|
"Left 1540 lb, 51.3% → 1560 lb, 51.7%",
|
|
"Front 1560 lb, 52% → 1580 lb, 52.3%",
|
|
"Rear 1440 lb, 48% → 1440 lb, 47.7%",
|
|
"Cross 1500 lb, 50% → 1500 lb, 49.7%",
|
|
"Ride height 5 in → 5.2 in",
|
|
"Pinion -2.0° → -1.5°",
|
|
"Front brake 62% → 65%",
|
|
),
|
|
setupDiffs(original, later),
|
|
)
|
|
}
|
|
|
|
@Test
|
|
fun originalLinesSkipBlankFields() {
|
|
val lines = setupLines(SetupSheet(recordedAt = 1L, crossPercent = 53.5, blockLr = 2.0))
|
|
assertEquals(listOf("Cross 53.5%", "LR block 2 in"), lines)
|
|
}
|
|
}
|