/
githubmirror
/
guava
Обзор
Документация
Войти
/
githubmirror
/
guava
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
guava-tests/test/com/google/common/math/DoubleUtilsTest.java
68 строк
2 KB
cpovirk
Suppress errors from newly enabled nullness checking in some tests in `escape`, `html`, and `math`.
03 мар 2026, 08:21
03 мар 2026, 08:21
fa03552
Код
Авторство
О чём код?
/* * Copyright (C) 2011 The Guava Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.google.common.math; import static com.google.common.math.MathTesting.ALL_BIGINTEGER_CANDIDATES; import static com.google.common.math.MathTesting.POSITIVE_FINITE_DOUBLE_CANDIDATES; import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.assertThrows; import com.google.common.annotations.GwtIncompatible; import com.google.errorprone.annotations.FormatMethod; import java.math.BigInteger; import junit.framework.TestCase; import org.jspecify.annotations.NullUnmarked; /** * Tests for {@link DoubleUtils}. * * @author Louis Wasserman */ @GwtIncompatible @NullUnmarked public class DoubleUtilsTest extends TestCase { @AndroidIncompatible // TODO(cpovirk): File bug for BigDecimal.doubleValue(). public void testBigToDouble() { for (BigInteger b : ALL_BIGINTEGER_CANDIDATES) { if (b.doubleValue() != DoubleUtils.bigToDouble(b)) { failFormat( "Converting %s to double: expected doubleValue %s but got bigToDouble %s", b, b.doubleValue(), DoubleUtils.bigToDouble(b)); } } } public void testEnsureNonNegative() { assertThat(DoubleUtils.ensureNonNegative(0.0)).isEqualTo(0.0); for (double positiveValue : POSITIVE_FINITE_DOUBLE_CANDIDATES) { assertThat(DoubleUtils.ensureNonNegative(positiveValue)).isEqualTo(positiveValue); assertThat(DoubleUtils.ensureNonNegative(-positiveValue)).isEqualTo(0.0); } assertThat(DoubleUtils.ensureNonNegative(Double.POSITIVE_INFINITY)).isPositiveInfinity(); assertThat(DoubleUtils.ensureNonNegative(Double.NEGATIVE_INFINITY)).isEqualTo(0.0); assertThrows(IllegalArgumentException.class, () -> DoubleUtils.ensureNonNegative(Double.NaN)); } public void testOneBits() { assertEquals(DoubleUtils.ONE_BITS, Double.doubleToRawLongBits(1.0)); } @FormatMethod private static void failFormat(String template, Object... args) { fail(String.format(template, args)); } }