Сократить lifecycle overhead ранних ботов
This commit is contained in:
@@ -25,6 +25,25 @@ public final class LevelPlaytestBotTest {
|
||||
assertEquals("Reach the goal", result.lastStep());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void sameDriverCanRestartTheCompleteScenarioThreeTimes() {
|
||||
ScriptedDriver driver = new ScriptedDriver();
|
||||
LevelPlaytestBot.Scenario scenario = LevelPlaytestBot.Scenario
|
||||
.builder(7, "Repeated scenario")
|
||||
.step("Create a corpse", 1_000L, LevelPlaytestBot.Input.right(),
|
||||
snapshot -> snapshot.deaths() >= 1)
|
||||
.step("Reach the goal", 1_000L, LevelPlaytestBot.Input.left(),
|
||||
GameView.AutomationSnapshot::completed)
|
||||
.build();
|
||||
|
||||
for (int pass = 1; pass <= 3; pass++) {
|
||||
LevelPlaytestBot.Result result = new LevelPlaytestBot().run(driver, scenario, 5_000L);
|
||||
assertTrue("Pass " + pass + ": " + result.diagnostic(), result.completed());
|
||||
assertEquals("Pass " + pass, "Reach the goal", result.lastStep());
|
||||
assertEquals("Pass " + pass, 1, result.deaths());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void stepTimeoutReportsItsNameAndObservableSnapshot() {
|
||||
ScriptedDriver driver = new ScriptedDriver(false);
|
||||
@@ -81,6 +100,11 @@ public final class LevelPlaytestBotTest {
|
||||
@Override
|
||||
public void startLevel(int oneBasedLevelNumber) {
|
||||
startedLevel = oneBasedLevelNumber;
|
||||
nowMillis = 0L;
|
||||
moveLeft = false;
|
||||
moveRight = false;
|
||||
deaths = 0;
|
||||
completed = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user