54 lines
2.4 KiB
Java
54 lines
2.4 KiB
Java
package com.projectsacrifice.game;
|
|
|
|
import static org.junit.Assert.assertFalse;
|
|
import static org.junit.Assert.assertTrue;
|
|
|
|
import androidx.test.core.app.ActivityScenario;
|
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
|
|
|
import org.junit.Test;
|
|
import org.junit.runner.RunWith;
|
|
|
|
@RunWith(AndroidJUnit4.class)
|
|
public final class ChallengeCollectibleIntegrationTest {
|
|
@Test
|
|
public void collectedCacheSurvivesRecreationAndRestartResetsAttemptState() {
|
|
try (ActivityScenario<MainActivity> activity = ActivityScenario.launch(MainActivity.class)) {
|
|
activity.onActivity(current -> {
|
|
GameView view = current.gameViewForAutomation();
|
|
view.enableDeterministicAutomationClock();
|
|
view.startLevelForAutomation(18);
|
|
assertTrue(view.automationSnapshot().collectibleVisible());
|
|
view.setAutomationInput(false, true, false);
|
|
for (int decision = 0; decision < 400
|
|
&& view.automationSnapshot().playerX() < 650f; decision++) {
|
|
view.advanceDeterministicAutomation(16L);
|
|
}
|
|
assertTrue("approach x=" + view.automationSnapshot().playerX(),
|
|
view.automationSnapshot().playerX() >= 650f);
|
|
view.setAutomationInput(false, true, true);
|
|
for (int decision = 0; decision < 180
|
|
&& !view.automationSnapshot().collectibleFound(); decision++) {
|
|
view.advanceDeterministicAutomation(16L);
|
|
}
|
|
view.setAutomationInput(false, false, false);
|
|
assertTrue(view.automationSnapshot().collectibleFound());
|
|
assertFalse(view.automationSnapshot().collectibleVisible());
|
|
assertTrue(view.sessionSnapshotForAutomation().collectibleFound());
|
|
});
|
|
|
|
activity.recreate();
|
|
|
|
activity.onActivity(current -> {
|
|
GameView view = current.gameViewForAutomation();
|
|
assertTrue(view.automationSnapshot().visiblyPaused());
|
|
assertTrue(view.automationSnapshot().collectibleFound());
|
|
assertFalse(view.automationSnapshot().collectibleVisible());
|
|
view.startLevelForAutomation(18);
|
|
assertFalse(view.automationSnapshot().collectibleFound());
|
|
assertTrue(view.automationSnapshot().collectibleVisible());
|
|
});
|
|
}
|
|
}
|
|
}
|