39 lines
1.1 KiB
Java
39 lines
1.1 KiB
Java
package com.projectsacrifice.game;
|
|
|
|
import org.junit.Test;
|
|
|
|
import static org.junit.Assert.assertEquals;
|
|
import static org.junit.Assert.assertFalse;
|
|
import static org.junit.Assert.assertTrue;
|
|
|
|
public final class OnboardingFlowTest {
|
|
@Test
|
|
public void firstRunExplainsControlsAndCorpsesThenStaysDismissed() {
|
|
OnboardingFlow flow = OnboardingFlow.firstRun(false);
|
|
|
|
assertTrue(flow.isVisible());
|
|
assertEquals(OnboardingFlow.Step.MOVEMENT, flow.step());
|
|
|
|
flow.next();
|
|
assertEquals(OnboardingFlow.Step.MULTITOUCH_JUMP, flow.step());
|
|
|
|
flow.next();
|
|
assertEquals(OnboardingFlow.Step.CORPSES_ARE_TOOLS, flow.step());
|
|
|
|
flow.next();
|
|
assertFalse(flow.isVisible());
|
|
assertTrue(flow.isComplete());
|
|
assertFalse(OnboardingFlow.firstRun(flow.isComplete()).isVisible());
|
|
}
|
|
|
|
@Test
|
|
public void firstRunCanBeSkippedImmediately() {
|
|
OnboardingFlow flow = OnboardingFlow.firstRun(false);
|
|
|
|
flow.skip();
|
|
|
|
assertFalse(flow.isVisible());
|
|
assertTrue(flow.isComplete());
|
|
}
|
|
}
|