|
|
@ -60,6 +60,27 @@ class StartupStateProviderTest {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
|
|
|
fun `GIVEN the app started for an activity WHEN is cold start THEN warm start is false`() {
|
|
|
|
|
|
|
|
forEachColdStartEntries { index ->
|
|
|
|
|
|
|
|
assertFalse("$index", provider.isWarmStartForStartedActivity(homeActivityClass))
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
|
|
|
fun `GIVEN the app started for an activity WHEN is warm start THEN warm start is true`() {
|
|
|
|
|
|
|
|
forEachWarmStartEntries { index ->
|
|
|
|
|
|
|
|
assertTrue("$index", provider.isWarmStartForStartedActivity(homeActivityClass))
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
|
|
|
fun `GIVEN the app started for an activity WHEN is hot start THEN warm start is false` () {
|
|
|
|
|
|
|
|
forEachHotStartEntries { index ->
|
|
|
|
|
|
|
|
assertFalse("$index", provider.isWarmStartForStartedActivity(homeActivityClass))
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
|
fun `GIVEN the app started for an activity WHEN we launched HA through a drawing IntentRA THEN start up is not cold`() {
|
|
|
|
fun `GIVEN the app started for an activity WHEN we launched HA through a drawing IntentRA THEN start up is not cold`() {
|
|
|
|
// These entries mimic observed behavior for local code changes.
|
|
|
|
// These entries mimic observed behavior for local code changes.
|
|
|
@ -74,6 +95,22 @@ class StartupStateProviderTest {
|
|
|
|
assertFalse(provider.isColdStartForStartedActivity(homeActivityClass))
|
|
|
|
assertFalse(provider.isColdStartForStartedActivity(homeActivityClass))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
|
|
|
fun `GIVEN the app started for an activity WHEN we launched HA through a drawing IntentRA THEN start up is not warm`() {
|
|
|
|
|
|
|
|
// These entries mimic observed behavior for local code changes.
|
|
|
|
|
|
|
|
logEntries.addAll(listOf(
|
|
|
|
|
|
|
|
LogEntry.AppStopped,
|
|
|
|
|
|
|
|
LogEntry.ActivityStopped(homeActivityClass),
|
|
|
|
|
|
|
|
LogEntry.ActivityCreated(irActivityClass),
|
|
|
|
|
|
|
|
LogEntry.ActivityStarted(irActivityClass),
|
|
|
|
|
|
|
|
LogEntry.AppStarted,
|
|
|
|
|
|
|
|
LogEntry.ActivityCreated(homeActivityClass),
|
|
|
|
|
|
|
|
LogEntry.ActivityStarted(homeActivityClass),
|
|
|
|
|
|
|
|
LogEntry.ActivityStopped(irActivityClass)
|
|
|
|
|
|
|
|
))
|
|
|
|
|
|
|
|
assertFalse(provider.isWarmStartForStartedActivity(homeActivityClass))
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
|
fun `GIVEN the app started for an activity WHEN two HomeActivities are created THEN start up is not cold`() {
|
|
|
|
fun `GIVEN the app started for an activity WHEN two HomeActivities are created THEN start up is not cold`() {
|
|
|
|
// We're making an assumption about how this would work based on previous observed patterns.
|
|
|
|
// We're making an assumption about how this would work based on previous observed patterns.
|
|
|
@ -124,6 +161,26 @@ class StartupStateProviderTest {
|
|
|
|
assertFalse(provider.shouldShortCircuitColdStart())
|
|
|
|
assertFalse(provider.shouldShortCircuitColdStart())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
|
|
|
fun `GIVEN the app has not been stopped WHEN an activity has not been created THEN it's not a warm start`() {
|
|
|
|
|
|
|
|
assertFalse(provider.isWarmStartForStartedActivity(homeActivityClass))
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
|
|
|
fun `GIVEN the app has been stopped WHEN an activity has not been created THEN it's not a warm start`() {
|
|
|
|
|
|
|
|
logEntries.add(LogEntry.AppStopped)
|
|
|
|
|
|
|
|
assertFalse(provider.isWarmStartForStartedActivity(homeActivityClass))
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
|
|
|
fun `GIVEN the app has been stopped WHEN an activity has not been started THEN it's not a warm start`() {
|
|
|
|
|
|
|
|
logEntries.addAll(listOf(
|
|
|
|
|
|
|
|
LogEntry.AppStopped,
|
|
|
|
|
|
|
|
LogEntry.ActivityCreated(homeActivityClass)
|
|
|
|
|
|
|
|
))
|
|
|
|
|
|
|
|
assertFalse(provider.isWarmStartForStartedActivity(homeActivityClass))
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private fun forEachColdStartEntries(block: (index: Int) -> Unit) {
|
|
|
|
private fun forEachColdStartEntries(block: (index: Int) -> Unit) {
|
|
|
|
// These entries mimic observed behavior.
|
|
|
|
// These entries mimic observed behavior.
|
|
|
|
//
|
|
|
|
//
|
|
|
|