This is an automated email from the ASF dual-hosted git repository. erans pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-numbers.git
commit 19899e7124dcd182fb3ebe31f17405c15be6cd19 Author: Gilles Sadowski <gillese...@gmail.com> AuthorDate: Sun Jun 13 00:20:37 2021 +0200 Unit test. --- commons-numbers-arrays/pom.xml | 10 ++++++++++ .../arrays/MultidimensionalCounterTest.java | 22 ++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/commons-numbers-arrays/pom.xml b/commons-numbers-arrays/pom.xml index 894b93c..756b76f 100644 --- a/commons-numbers-arrays/pom.xml +++ b/commons-numbers-arrays/pom.xml @@ -42,4 +42,14 @@ <numbers.parent.dir>${basedir}/..</numbers.parent.dir> </properties> + <dependencies> + + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-math3</artifactId> + <scope>test</scope> + </dependency> + + </dependencies> + </project> diff --git a/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/MultidimensionalCounterTest.java b/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/MultidimensionalCounterTest.java index 7307eb5..62afd23 100644 --- a/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/MultidimensionalCounterTest.java +++ b/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/MultidimensionalCounterTest.java @@ -117,4 +117,26 @@ class MultidimensionalCounterTest { final MultidimensionalCounter c = MultidimensionalCounter.of(sizes); Assertions.assertEquals(Arrays.toString(sizes), c.toString()); } + + // Illustrates how to recover the iterator functionality that existed + // in Commons Math (v3.6.1) but was not ported to "Commons Numbers". + @Test + void testCommonsMathIterator() { + final int[] sizes = new int[] {3, 2, 5}; + final org.apache.commons.math3.util.MultidimensionalCounter.Iterator cmIter = + new org.apache.commons.math3.util.MultidimensionalCounter(sizes).iterator(); + + final MultidimensionalCounter counter = MultidimensionalCounter.of(sizes); + + Assertions.assertTrue(cmIter.hasNext()); + Assertions.assertTrue(counter.getSize() > 0); + + for (int i = 0; i < counter.getSize(); i++) { + cmIter.next(); + Assertions.assertTrue(Arrays.equals(cmIter.getCounts(), + counter.toMulti(i))); + } + + Assertions.assertFalse(cmIter.hasNext()); + } }