summaryrefslogtreecommitdiffstats
path: root/simple/simple-common/src/test/java/org/simpleframework/common/lease/ContractTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'simple/simple-common/src/test/java/org/simpleframework/common/lease/ContractTest.java')
-rw-r--r--simple/simple-common/src/test/java/org/simpleframework/common/lease/ContractTest.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/simple/simple-common/src/test/java/org/simpleframework/common/lease/ContractTest.java b/simple/simple-common/src/test/java/org/simpleframework/common/lease/ContractTest.java
new file mode 100644
index 0000000..1cc40af
--- /dev/null
+++ b/simple/simple-common/src/test/java/org/simpleframework/common/lease/ContractTest.java
@@ -0,0 +1,40 @@
+package org.simpleframework.common.lease;
+
+import java.util.concurrent.TimeUnit;
+
+import org.simpleframework.common.lease.Contract;
+import org.simpleframework.common.lease.Expiration;
+
+public class ContractTest extends TimeTestCase {
+
+ public void testContract() throws Exception {
+ Contract ten = new Expiration(this, 10, TimeUnit.MILLISECONDS);
+ Contract twenty = new Expiration(this, 20, TimeUnit.MILLISECONDS);
+ Contract thirty= new Expiration(this, 30, TimeUnit.MILLISECONDS);
+
+ assertGreaterThanOrEqual(twenty.getDelay(TimeUnit.NANOSECONDS), ten.getDelay(TimeUnit.NANOSECONDS));
+ assertGreaterThanOrEqual(thirty.getDelay(TimeUnit.NANOSECONDS), twenty.getDelay(TimeUnit.NANOSECONDS));
+
+ assertGreaterThanOrEqual(twenty.getDelay(TimeUnit.MILLISECONDS), ten.getDelay(TimeUnit.MILLISECONDS));
+ assertGreaterThanOrEqual(thirty.getDelay(TimeUnit.MILLISECONDS), twenty.getDelay(TimeUnit.MILLISECONDS));
+
+ ten.setDelay(0, TimeUnit.MILLISECONDS);
+ twenty.setDelay(0, TimeUnit.MILLISECONDS);
+
+ assertLessThanOrEqual(ten.getDelay(TimeUnit.MILLISECONDS), 0);
+ assertLessThanOrEqual(twenty.getDelay(TimeUnit.MILLISECONDS), 0);
+
+ ten.setDelay(10, TimeUnit.MILLISECONDS);
+ twenty.setDelay(20, TimeUnit.MILLISECONDS);
+ thirty.setDelay(30, TimeUnit.MILLISECONDS);
+
+ assertGreaterThanOrEqual(twenty.getDelay(TimeUnit.NANOSECONDS), ten.getDelay(TimeUnit.NANOSECONDS));
+ assertGreaterThanOrEqual(thirty.getDelay(TimeUnit.NANOSECONDS), twenty.getDelay(TimeUnit.NANOSECONDS));
+
+ assertGreaterThanOrEqual(twenty.getDelay(TimeUnit.MILLISECONDS), ten.getDelay(TimeUnit.MILLISECONDS));
+ assertGreaterThanOrEqual(thirty.getDelay(TimeUnit.MILLISECONDS), twenty.getDelay(TimeUnit.MILLISECONDS));
+
+ ten.setDelay(0, TimeUnit.MILLISECONDS);
+ twenty.setDelay(0, TimeUnit.MILLISECONDS);
+ }
+}