X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FSoneModificationDetectorTest.java;h=388319bfa6fe628b21826c30bf563b7ef983158d;hb=0ca31381ec49b83b8ef5b5cf4def21fecf0e95be;hp=3e4da708249951228cf7c7cb86a0abd4e60982ec;hpb=2bccc50e24eec9fc0f20df72fd67c6887c1254dd;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 3e4da70..388319b 100644 --- a/src/test/java/net/pterodactylus/sone/core/SoneModificationDetectorTest.java +++ b/src/test/java/net/pterodactylus/sone/core/SoneModificationDetectorTest.java @@ -32,7 +32,11 @@ public class SoneModificationDetectorTest { } private void modifySone() { - when(sone.getFingerprint()).thenReturn("modified"); + modifySone(""); + } + + private void modifySone(String uniqueValue) { + when(sone.getFingerprint()).thenReturn("modified" + uniqueValue); } private void passTime(int seconds) { @@ -44,9 +48,13 @@ public class SoneModificationDetectorTest { } @Test - public void modifiedSoneIsEligibleAfter60Seconds() { + public void sonesStartOutAsNotEligible() { assertThat(soneModificationDetector.isModified(), is(false)); assertThat(soneModificationDetector.isEligibleForInsert(), is(false)); + } + + @Test + public void modifiedSoneIsEligibleAfter60Seconds() { modifySone(); assertThat(soneModificationDetector.isModified(), is(true)); assertThat(soneModificationDetector.isEligibleForInsert(), is(false)); @@ -56,8 +64,24 @@ public class SoneModificationDetectorTest { } @Test - public void modifiedSoneIsNotEligibleAfter30Seconds() { + public void modifiedAndRemodifiedSoneIsEligibleAfter90Seconds() { + modifySone(); + assertThat(soneModificationDetector.isModified(), is(true)); assertThat(soneModificationDetector.isEligibleForInsert(), is(false)); + passTime(30); + modifySone("2"); + assertThat(soneModificationDetector.isModified(), is(true)); + assertThat(soneModificationDetector.isEligibleForInsert(), is(false)); + passTime(61); + assertThat(soneModificationDetector.isModified(), is(true)); + assertThat(soneModificationDetector.isEligibleForInsert(), is(false)); + passTime(91); + assertThat(soneModificationDetector.isModified(), is(true)); + assertThat(soneModificationDetector.isEligibleForInsert(), is(true)); + } + + @Test + public void modifiedSoneIsNotEligibleAfter30Seconds() { modifySone(); passTime(30); assertThat(soneModificationDetector.isEligibleForInsert(), is(false)); @@ -75,7 +99,6 @@ public class SoneModificationDetectorTest { @Test public void settingFingerprintWillResetTheEligibility() { - assertThat(soneModificationDetector.isEligibleForInsert(), is(false)); modifySone(); assertThat(soneModificationDetector.isEligibleForInsert(), is(false)); passTime(100); @@ -86,7 +109,6 @@ public class SoneModificationDetectorTest { @Test public void changingInsertionDelayWillInfluenceEligibility() { - assertThat(soneModificationDetector.isEligibleForInsert(), is(false)); modifySone(); assertThat(soneModificationDetector.isEligibleForInsert(), is(false)); passTime(100);