From d056c03834b9245c0d8095ade3bfd66d83f758a5 Mon Sep 17 00:00:00 2001 From: Gilles Sadowski Date: Wed, 26 May 2021 04:39:12 +0200 Subject: [PATCH] MATH-1584: Unit tests. --- .../NotFiniteNumberExceptionTest.java | 68 +++++++++++++++++++ .../exception/NullArgumentExceptionTest.java | 44 ++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/exception/NotFiniteNumberExceptionTest.java create mode 100644 commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/exception/NullArgumentExceptionTest.java diff --git a/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/exception/NotFiniteNumberExceptionTest.java b/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/exception/NotFiniteNumberExceptionTest.java new file mode 100644 index 000000000..e5a3f5410 --- /dev/null +++ b/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/exception/NotFiniteNumberExceptionTest.java @@ -0,0 +1,68 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You 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 org.apache.commons.math4.legacy.exception; + +import org.junit.Assert; +import org.junit.Test; + +import org.apache.commons.math4.legacy.exception.util.LocalizedFormats; + +/** + * Tests for {@link NotFiniteNumberException}. + */ +public final class NotFiniteNumberExceptionTest { + @Test + public void testCheckSingle() { + try { + NotFiniteNumberException.check(Double.POSITIVE_INFINITY); + Assert.fail("an exception should have been thrown"); + } catch (NotFiniteNumberException e) { + // Expected + } + try { + NotFiniteNumberException.check(Double.NEGATIVE_INFINITY); + Assert.fail("an exception should have been thrown"); + } catch (NotFiniteNumberException e) { + // Expected + } + try { + NotFiniteNumberException.check(Double.NaN); + Assert.fail("an exception should have been thrown"); + } catch (NotFiniteNumberException e) { + // Expected + } + } + + @Test + public void testCheckArray() { + try { + NotFiniteNumberException.check(new double[] {0, -1, Double.POSITIVE_INFINITY, -2, 3}); + Assert.fail("an exception should have been thrown"); + } catch (NotFiniteNumberException e) { + // Expected + } + try { + NotFiniteNumberException.check(new double[] {1, Double.NEGATIVE_INFINITY, -2, 3}); + Assert.fail("an exception should have been thrown"); + } catch (NotFiniteNumberException e) { + // Expected + } + try { + NotFiniteNumberException.check(new double[] {4, 3, -1, Double.NaN, -2, 1}); + Assert.fail("an exception should have been thrown"); + } catch (NotFiniteNumberException e) { + // Expected + } + } +} diff --git a/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/exception/NullArgumentExceptionTest.java b/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/exception/NullArgumentExceptionTest.java new file mode 100644 index 000000000..6dd73be97 --- /dev/null +++ b/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/exception/NullArgumentExceptionTest.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You 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 org.apache.commons.math4.legacy.exception; + +import org.junit.Assert; +import org.junit.Test; + +import org.apache.commons.math4.legacy.exception.util.LocalizedFormats; + +/** + * Tests for {@link NullArgumentException}. + */ +public final class NullArgumentExceptionTest { + @Test + public void testCheckSingle() { + try { + Object obj = null; + NullArgumentException.check(obj); + } catch (NullArgumentException e) { + // Expected. + } + } + + @Test + public void testCheckArray() { + try { + double[] array = null; + NullArgumentException.check(array, LocalizedFormats.INPUT_ARRAY); + } catch (NullArgumentException e) { + // Expected. + } + } +}