-
Notifications
You must be signed in to change notification settings - Fork 318
/
FasterRouteDetectorTest.kt
79 lines (61 loc) · 2.64 KB
/
FasterRouteDetectorTest.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package com.mapbox.navigation.core.fasterroute
import com.mapbox.api.directions.v5.models.DirectionsRoute
import com.mapbox.navigation.base.trip.model.RouteProgress
import io.mockk.every
import io.mockk.mockk
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Test
class FasterRouteDetectorTest {
private val routeComparator: RouteComparator = mockk {
every { isNewRoute(any(), any()) } returns true
}
private val fasterRouteDetector = FasterRouteDetector(routeComparator)
@Test
fun shouldDetectWhenRouteIsFaster() {
every { routeComparator.isNewRoute(any(), any()) } returns true
val newRoute: DirectionsRoute = mockk()
every { newRoute.duration() } returns 402.6
val routeProgress: RouteProgress = mockk()
every { routeProgress.durationRemaining } returns 797.447
val isFasterRoute = fasterRouteDetector.isRouteFaster(newRoute, routeProgress)
assertTrue(isFasterRoute)
}
@Test
fun shouldDetectWhenRouteIsFasterOnlyIfDifferent() {
every { routeComparator.isNewRoute(any(), any()) } returns false
val newRoute: DirectionsRoute = mockk()
every { newRoute.duration() } returns 402.6
val routeProgress: RouteProgress = mockk()
every { routeProgress.durationRemaining } returns 797.447
val isFasterRoute = fasterRouteDetector.isRouteFaster(newRoute, routeProgress)
assertFalse(isFasterRoute)
}
@Test
fun shouldDetectWhenRouteIsSlower() {
val newRoute: DirectionsRoute = mockk()
every { newRoute.duration() } returns 512.2
val routeProgress: RouteProgress = mockk()
every { routeProgress.durationRemaining } returns 450.501
val isFasterRoute = fasterRouteDetector.isRouteFaster(newRoute, routeProgress)
assertFalse(isFasterRoute)
}
@Test
fun shouldDefaultToFalseWhenDurationIsNull() {
val newRoute: DirectionsRoute = mockk()
every { newRoute.duration() } returns null
val routeProgress: RouteProgress = mockk()
every { routeProgress.durationRemaining } returns 727.228
val isFasterRoute = fasterRouteDetector.isRouteFaster(newRoute, routeProgress)
assertFalse(isFasterRoute)
}
@Test
fun shouldNotAllowSlightlyFasterRoutes() {
val newRoute: DirectionsRoute = mockk()
every { newRoute.duration() } returns 634.7
val routeProgress: RouteProgress = mockk()
every { routeProgress.durationRemaining } returns 695.811
val isFasterRoute = fasterRouteDetector.isRouteFaster(newRoute, routeProgress)
assertFalse(isFasterRoute)
}
}