Files
Pit-Log-App/app/src/test/java/com/racingapp/pitlog/model/SetupLogTest.kt
T

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)
}
}