Part of the Detour Kotlin guidelines. Section numbers are stable across files — a reference like §8.4 always means §8.4, wherever it lives.
shared/src/commonTest/ is the best-protected test location in the repo: it
runs on every PR via build.yml, and again on JVM and Kotlin/Native via
ios.yml when shared/** changed. iosApp/ has no test target at all, which
is a further argument for putting a rule in commonMain rather than in Swift.
House style, matching what is there:
kotlin.test. No mocking library, no coroutine test dispatcher.private fun fixture builder, .copy(…) per test. Not a @Before field.fewerThanTwoStopsIsRejected.RouteGpx.parseGpx(gpx, nowMs = 999L).absoluteTolerance, never bare assertEquals.