diff --git a/android/guava-tests/test/com/google/common/util/concurrent/RateLimiterTest.java b/android/guava-tests/test/com/google/common/util/concurrent/RateLimiterTest.java index 112da6803488..104e4bbf9142 100644 --- a/android/guava-tests/test/com/google/common/util/concurrent/RateLimiterTest.java +++ b/android/guava-tests/test/com/google/common/util/concurrent/RateLimiterTest.java @@ -78,6 +78,7 @@ public void testSimpleRateUpdate() { assertThrows(IllegalArgumentException.class, () -> limiter.setRate(0.0)); assertThrows(IllegalArgumentException.class, () -> limiter.setRate(-10.0)); + assertThrows(IllegalArgumentException.class, () -> limiter.setRate(Double.NaN)); } public void testAcquireParameterValidation() { diff --git a/android/guava/src/com/google/common/util/concurrent/RateLimiter.java b/android/guava/src/com/google/common/util/concurrent/RateLimiter.java index d51ab2b795d6..c7e7de74ecfd 100644 --- a/android/guava/src/com/google/common/util/concurrent/RateLimiter.java +++ b/android/guava/src/com/google/common/util/concurrent/RateLimiter.java @@ -225,8 +225,7 @@ private Object mutex() { * @throws IllegalArgumentException if {@code permitsPerSecond} is negative or zero */ public final void setRate(double permitsPerSecond) { - checkArgument( - permitsPerSecond > 0.0 && !Double.isNaN(permitsPerSecond), "rate must be positive"); + checkArgument(permitsPerSecond > 0.0, "rate must be positive"); synchronized (mutex()) { doSetRate(permitsPerSecond, stopwatch.readMicros()); } diff --git a/guava-tests/test/com/google/common/util/concurrent/RateLimiterTest.java b/guava-tests/test/com/google/common/util/concurrent/RateLimiterTest.java index e7874f35b1f7..dea2bf8a9a2f 100644 --- a/guava-tests/test/com/google/common/util/concurrent/RateLimiterTest.java +++ b/guava-tests/test/com/google/common/util/concurrent/RateLimiterTest.java @@ -78,6 +78,7 @@ public void testSimpleRateUpdate() { assertThrows(IllegalArgumentException.class, () -> limiter.setRate(0.0)); assertThrows(IllegalArgumentException.class, () -> limiter.setRate(-10.0)); + assertThrows(IllegalArgumentException.class, () -> limiter.setRate(Double.NaN)); } public void testAcquireParameterValidation() { diff --git a/guava/src/com/google/common/util/concurrent/RateLimiter.java b/guava/src/com/google/common/util/concurrent/RateLimiter.java index 1dd733f3bc6a..ff6da5e8a40c 100644 --- a/guava/src/com/google/common/util/concurrent/RateLimiter.java +++ b/guava/src/com/google/common/util/concurrent/RateLimiter.java @@ -255,8 +255,7 @@ private Object mutex() { * @throws IllegalArgumentException if {@code permitsPerSecond} is negative or zero */ public final void setRate(double permitsPerSecond) { - checkArgument( - permitsPerSecond > 0.0 && !Double.isNaN(permitsPerSecond), "rate must be positive"); + checkArgument(permitsPerSecond > 0.0, "rate must be positive"); synchronized (mutex()) { doSetRate(permitsPerSecond, stopwatch.readMicros()); }