X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FSoneModificationDetectorTest.java;h=cd0133f3eca25880243f3ec40f068934be403c52;hb=08045c5c1449356986c0a0cc51fcd46a262a3325;hp=388319bfa6fe628b21826c30bf563b7ef983158d;hpb=0ca31381ec49b83b8ef5b5cf4def21fecf0e95be;p=Sone.git diff --git a/src/test/java/net/pterodactylus/sone/core/SoneModificationDetectorTest.java b/src/test/java/net/pterodactylus/sone/core/SoneModificationDetectorTest.java index 388319b..cd0133f 100644 --- a/src/test/java/net/pterodactylus/sone/core/SoneModificationDetectorTest.java +++ b/src/test/java/net/pterodactylus/sone/core/SoneModificationDetectorTest.java @@ -47,6 +47,15 @@ public class SoneModificationDetectorTest { when(core.isLocked(sone)).thenReturn(true); } + private void unlockSone() { + when(core.isLocked(sone)).thenReturn(false); + } + + @Test + public void normalConstructorCanBeCalled() { + new SoneModificationDetector(core, sone, insertionDelay); + } + @Test public void sonesStartOutAsNotEligible() { assertThat(soneModificationDetector.isModified(), is(false)); @@ -54,6 +63,11 @@ public class SoneModificationDetectorTest { } @Test + public void originalFingerprintIsRetained() { + assertThat(soneModificationDetector.getOriginalFingerprint(), is("original")); + } + + @Test public void modifiedSoneIsEligibleAfter60Seconds() { modifySone(); assertThat(soneModificationDetector.isModified(), is(true)); @@ -98,6 +112,20 @@ public class SoneModificationDetectorTest { } @Test + public void lockingAndUnlockingASoneRestartsTheWaitPeriod() { + modifySone(); + lockSone(); + passTime(30); + assertThat(soneModificationDetector.isEligibleForInsert(), is(false)); + unlockSone(); + assertThat(soneModificationDetector.isEligibleForInsert(), is(false)); + passTime(60); + assertThat(soneModificationDetector.isEligibleForInsert(), is(false)); + passTime(90); + assertThat(soneModificationDetector.isEligibleForInsert(), is(true)); + } + + @Test public void settingFingerprintWillResetTheEligibility() { modifySone(); assertThat(soneModificationDetector.isEligibleForInsert(), is(false));