diff options
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.java | 40 |
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); + } +} |