mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-10-23 00:28:02 +00:00
API
This commit is contained in:
1 parent
de25b7d7ab
commit
d5a55ccfcf
66 files changed
+6300
-424
No files matched your search
@@ -0,0 +1,72 @@
|
||||
package art.arcane.iris.core.pregenerator;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class PregenPhaseTrackerTest {
|
||||
@Test
|
||||
public void theFirstTickAnnouncesTheJobAndStillReportsProgress() {
|
||||
PregenPhaseTracker tracker = new PregenPhaseTracker();
|
||||
|
||||
assertEquals(List.of(PregenApiPhase.STARTED, PregenApiPhase.TICK), tracker.onTick(false));
|
||||
assertEquals(List.of(PregenApiPhase.TICK), tracker.onTick(false));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void pauseAndResumeAreEmittedOnTransitionOnly() {
|
||||
PregenPhaseTracker tracker = new PregenPhaseTracker();
|
||||
tracker.onTick(false);
|
||||
|
||||
assertEquals(List.of(PregenApiPhase.PAUSED, PregenApiPhase.TICK), tracker.onTick(true));
|
||||
assertEquals(List.of(PregenApiPhase.TICK), tracker.onTick(true));
|
||||
assertEquals(List.of(PregenApiPhase.RESUMED, PregenApiPhase.TICK), tracker.onTick(false));
|
||||
assertEquals(List.of(PregenApiPhase.TICK), tracker.onTick(false));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void aJobThatStartsPausedDoesNotAlsoEmitPaused() {
|
||||
PregenPhaseTracker tracker = new PregenPhaseTracker();
|
||||
|
||||
assertEquals(List.of(PregenApiPhase.STARTED, PregenApiPhase.TICK), tracker.onTick(true));
|
||||
assertEquals(List.of(PregenApiPhase.TICK), tracker.onTick(true));
|
||||
assertEquals(List.of(PregenApiPhase.RESUMED, PregenApiPhase.TICK), tracker.onTick(false));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void savingIsAStateNotAPulse() {
|
||||
PregenPhaseTracker tracker = new PregenPhaseTracker();
|
||||
tracker.onTick(false);
|
||||
|
||||
assertEquals(List.of(PregenApiPhase.SAVING), tracker.onSaving());
|
||||
assertEquals(List.of(), tracker.onSaving());
|
||||
assertEquals(List.of(PregenApiPhase.TICK), tracker.onTick(false));
|
||||
assertEquals(List.of(PregenApiPhase.SAVING), tracker.onSaving());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void closeIsTerminalAndDistinguishesCompletionFromCancellation() {
|
||||
PregenPhaseTracker completed = new PregenPhaseTracker();
|
||||
completed.onTick(false);
|
||||
assertEquals(List.of(PregenApiPhase.COMPLETED), completed.onClose(true));
|
||||
assertEquals(List.of(), completed.onClose(true));
|
||||
assertEquals(List.of(), completed.onClose(false));
|
||||
assertEquals(List.of(), completed.onTick(false));
|
||||
assertEquals(List.of(), completed.onSaving());
|
||||
|
||||
PregenPhaseTracker cancelled = new PregenPhaseTracker();
|
||||
cancelled.onTick(false);
|
||||
assertEquals(List.of(PregenApiPhase.CANCELLED), cancelled.onClose(false));
|
||||
assertEquals(List.of(), cancelled.onClose(true));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void aJobThatNeverTickedStillReportsItsOutcomeExactlyOnce() {
|
||||
PregenPhaseTracker tracker = new PregenPhaseTracker();
|
||||
|
||||
assertEquals(List.of(PregenApiPhase.CANCELLED), tracker.onClose(false));
|
||||
assertEquals(List.of(), tracker.onClose(false));
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user