We need to figure out an easy way to share test data across the core, Apple, and Android. This data comes in several forms:
Waypoint data from GPS traces, route polylines, etc.
Predefined routes
Captured JSON responses
Methods for creating Routes and iOS/Android UI state from a predefined route
These will be useful for creating demonstration applications, SwiftUI/Compose previews, and unit testing.
Currently some of this info exists, but it is spread out and (in some cases) duplicated.
Rust unit tests in navigation_controller.rs and osrm/mod.rs
Apple
FerrostarCoreTests/Fixtures.swift (used in ValhallaCoreTestsl)
FerrostarCore/ObservableState.swift (waypoints as Swift code for a UI demo fixture)
Android
core unit tests in ValhallaCoreTest.kt
Probably soon to be in the demo app, at least temporarily
I don't think we necessarily need to dedupe all of this, but it probably would be useful to have an easy way to load up routes from Valhalla JSON and simulate location by replaying GPX files on both iOS and Android, and we'll need some helper code for that, and maybe a shared directory (+ symlinks? I think both Xcode and Gradle might not like looking too far afield for files.)
We need to figure out an easy way to share test data across the core, Apple, and Android. This data comes in several forms:
Route
s and iOS/Android UI state from a predefined routeThese will be useful for creating demonstration applications, SwiftUI/Compose previews, and unit testing.
Currently some of this info exists, but it is spread out and (in some cases) duplicated.
navigation_controller.rs
andosrm/mod.rs
FerrostarCoreTests/Fixtures.swift
(used inValhallaCoreTestsl
)FerrostarCore/ObservableState.swift
(waypoints as Swift code for a UI demo fixture)ValhallaCoreTest.kt
I don't think we necessarily need to dedupe all of this, but it probably would be useful to have an easy way to load up routes from Valhalla JSON and simulate location by replaying GPX files on both iOS and Android, and we'll need some helper code for that, and maybe a shared directory (+ symlinks? I think both Xcode and Gradle might not like looking too far afield for files.)