From 4de9361c3766513c3113608401ace43e9c536db1 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Thu, 8 Aug 2019 20:00:09 +0300 Subject: [PATCH] Introduce Duration.isPositive method --- libraries/stdlib/src/kotlin/time/Duration.kt | 3 +++ libraries/stdlib/test/time/DurationTest.kt | 6 +++++- .../reference-public-api/kotlin-stdlib-runtime-merged.txt | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/libraries/stdlib/src/kotlin/time/Duration.kt b/libraries/stdlib/src/kotlin/time/Duration.kt index e5def4abde8..479e8db50c6 100644 --- a/libraries/stdlib/src/kotlin/time/Duration.kt +++ b/libraries/stdlib/src/kotlin/time/Duration.kt @@ -75,6 +75,9 @@ public inline class Duration internal constructor(internal val value: Double) : /** Returns true, if the duration value is less than zero. */ public fun isNegative(): Boolean = value < 0 + /** Returns true, if the duration value is greater than zero. */ + public fun isPositive(): Boolean = value > 0 + /** Returns true, if the duration value is infinite. */ public fun isInfinite(): Boolean = value.isInfinite() diff --git a/libraries/stdlib/test/time/DurationTest.kt b/libraries/stdlib/test/time/DurationTest.kt index 716ed927bec..b510d29bab2 100644 --- a/libraries/stdlib/test/time/DurationTest.kt +++ b/libraries/stdlib/test/time/DurationTest.kt @@ -199,7 +199,7 @@ class DurationTest { } @Test - fun isNegativeAndAbsoluteValue() { + fun signAndAbsoluteValue() { val negative = -1.seconds val positive = 1.seconds val zero = Duration.ZERO @@ -208,6 +208,10 @@ class DurationTest { assertFalse(zero.isNegative()) assertFalse(positive.isNegative()) + assertFalse(negative.isPositive()) + assertFalse(zero.isPositive()) + assertTrue(positive.isPositive()) + assertEquals(positive, negative.absoluteValue) assertEquals(positive, positive.absoluteValue) assertEquals(zero, zero.absoluteValue) diff --git a/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-stdlib-runtime-merged.txt b/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-stdlib-runtime-merged.txt index ccb39354064..9ed961c6187 100644 --- a/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-stdlib-runtime-merged.txt +++ b/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-stdlib-runtime-merged.txt @@ -5317,6 +5317,7 @@ public final class kotlin/time/Duration : java/lang/Comparable { public static final fun isFinite-impl (D)Z public static final fun isInfinite-impl (D)Z public static final fun isNegative-impl (D)Z + public static final fun isPositive-impl (D)Z public static final fun minus-LRDsOJo (DD)D public static final fun plus-LRDsOJo (DD)D public static final fun times-impl (DD)D