summaryrefslogtreecommitdiff
path: root/test/files/jvm/duration-tck.scala
diff options
context:
space:
mode:
authorRoland <rk@rkuhn.info>2012-09-18 15:00:48 +0200
committerRoland <rk@rkuhn.info>2012-09-18 15:00:48 +0200
commitc555ff56db737bc65097add317946ee6d6166cd8 (patch)
tree844d6e5db4d95e91f2626966e12975c958a8f440 /test/files/jvm/duration-tck.scala
parent66603a2c003852d39faec20a9763fb0e25049cf4 (diff)
downloadscala-c555ff56db737bc65097add317946ee6d6166cd8.tar.gz
scala-c555ff56db737bc65097add317946ee6d6166cd8.tar.bz2
scala-c555ff56db737bc65097add317946ee6d6166cd8.zip
enable integer multiplication/divison on FiniteDuration, see SI-6389
- without this "2.seconds * 2" will not return FiniteDuration but Duration - added test case verifying this behavior - matches normal arithmetics: integers throw on div-by-zero while doubles yield infinity; extended here to include overflow protection on integer multiplication
Diffstat (limited to 'test/files/jvm/duration-tck.scala')
-rw-r--r--test/files/jvm/duration-tck.scala9
1 files changed, 8 insertions, 1 deletions
diff --git a/test/files/jvm/duration-tck.scala b/test/files/jvm/duration-tck.scala
index 0947e84004..c5dbe2e133 100644
--- a/test/files/jvm/duration-tck.scala
+++ b/test/files/jvm/duration-tck.scala
@@ -177,10 +177,17 @@ object Test extends App {
Thread.sleep(1.second.toMillis)
assert(dead.timeLeft < 1.second)
assert(dead2.timeLeft < 1.second)
+
+
+ // test integer mul/div
+ 500.millis * 2 mustBe 1.second
+ (500.millis * 2).unit mustBe MILLISECONDS
+ 1.second / 2 mustBe 500.millis
+ (1.second / 2).unit mustBe MILLISECONDS
// check statically retaining finite-ness
- val finiteDuration: FiniteDuration = 1.second plus 3.seconds minus 1.millisecond min 1.second max 1.second
+ val finiteDuration: FiniteDuration = 1.second * 2 / 3 mul 5 div 4 plus 3.seconds minus 1.millisecond min 1.second max 1.second
}