diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/ranking/NaturalRanking.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/ranking/NaturalRanking.java index 978c9e134c..6f5f5e60b2 100644 --- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/ranking/NaturalRanking.java +++ b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/ranking/NaturalRanking.java @@ -21,6 +21,7 @@ import java.util.Arrays; import java.util.Iterator; import java.util.List; +import java.util.Objects; import org.apache.commons.rng.UniformRandomProvider; import org.apache.commons.rng.simple.RandomSource; @@ -158,8 +159,8 @@ public NaturalRanking(NaNStrategy nanStrategy, private NaturalRanking(NaNStrategy nanStrategy, TiesStrategy tiesStrategy, UniformRandomProvider random) { - this.nanStrategy = nanStrategy; - this.tiesStrategy = tiesStrategy; + this.nanStrategy = Objects.requireNonNull(nanStrategy, "nanStrategy"); + this.tiesStrategy = Objects.requireNonNull(tiesStrategy, "tiesStrategy"); this.random = random; } diff --git a/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/stat/ranking/NaturalRankingTest.java b/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/stat/ranking/NaturalRankingTest.java index 5f4c512844..e53cc433c1 100644 --- a/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/stat/ranking/NaturalRankingTest.java +++ b/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/stat/ranking/NaturalRankingTest.java @@ -279,4 +279,18 @@ public void testNoNaNsFailed() { double[] ranks = ranking.rank(data); TestUtils.assertEquals(data, ranks, 0d); } + + /** + * Tests NaturalRanking constructor with null strategies as inputs. + * These should be switched to the default strategies. + */ + @Test + public void testNullStrategies() { + Assert.assertThrows(NullPointerException.class, () -> { + new NaturalRanking((NaNStrategy) null, (TiesStrategy) null); + }); + Assert.assertThrows(NullPointerException.class, () -> { + new NaturalRanking(NaturalRanking.DEFAULT_NAN_STRATEGY, (TiesStrategy) null); + }); + } }