You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by er...@apache.org on 2019/06/18 13:16:57 UTC
[commons-numbers] 12/34: fix FieldParametricTest
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 526d93ff6d0efe245e2f4d7ba73e553181469cf3
Author: Eitan Adler <li...@eitanadler.com>
AuthorDate: Sat Jun 8 17:41:34 2019 -0700
fix FieldParametricTest
---
.../commons/numbers/field/FieldParametricTest.java | 114 ++++++++++++++-------
.../apache/commons/numbers/field/FieldsList.java | 13 ++-
2 files changed, 86 insertions(+), 41 deletions(-)
diff --git a/commons-numbers-field/src/test/java/org/apache/commons/numbers/field/FieldParametricTest.java b/commons-numbers-field/src/test/java/org/apache/commons/numbers/field/FieldParametricTest.java
index d68af63..873642f 100644
--- a/commons-numbers-field/src/test/java/org/apache/commons/numbers/field/FieldParametricTest.java
+++ b/commons-numbers-field/src/test/java/org/apache/commons/numbers/field/FieldParametricTest.java
@@ -16,82 +16,125 @@
*/
package org.apache.commons.numbers.field;
-import org.junit.Assert;
-import org.junit.jupiter.api.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
+
+import java.util.stream.Stream;
/**
* Tests for fields.
*/
-@RunWith(value=Parameterized.class)
public class FieldParametricTest {
- /** Field under test. */
- @Parameterized.Parameter(0)
- private Field field;
- @Parameterized.Parameter(1)
- private Object a;
- @Parameterized.Parameter(2)
- private Object b;
- @Parameterized.Parameter(3)
- private Object c;
- @Parameterized.Parameters()
- public static Iterable<FieldTestData[]> getList() {
- return FieldsList.list();
+ private static Stream<FieldTestData> getList() {
+ return FieldsList.list().stream();
}
- public void testAdditionAssociativity() {
+ @ParameterizedTest
+ @MethodSource("getList")
+ public void testAdditionAssociativity(FieldTestData data) {
+ Field field = data.getField();
+ Object a = data.getA();
+ Object b = data.getB();
+ Object c = data.getC();
final Object r1 = field.add(field.add(a, b), c);
final Object r2 = field.add(a, field.add(b, c));
assertEquals(r1, r2);
}
- @Test
- public void testAdditionCommutativity() {
+
+ @ParameterizedTest
+ @MethodSource("getList")
+ public void testAdditionCommutativity(FieldTestData data) {
+ Field field = data.getField();
+ Object a = data.getA();
+ Object b = data.getB();
+ Object c = data.getC();
final Object r1 = field.add(a, b);
final Object r2 = field.add(b, a);
assertEquals(r1, r2);
}
- @Test
- public void testAdditiveIdentity() {
+
+ @ParameterizedTest
+ @MethodSource("getList")
+ public void testAdditiveIdentity(FieldTestData data) {
+ Field field = data.getField();
+ Object a = data.getA();
+ Object b = data.getB();
+ Object c = data.getC();
final Object r1 = field.add(a, field.zero());
final Object r2 = a;
assertEquals(r1, r2);
}
- @Test
- public void testAdditiveInverse() {
+
+ @ParameterizedTest
+ @MethodSource("getList")
+ public void testAdditiveInverse(FieldTestData data) {
+ Field field = data.getField();
+ Object a = data.getA();
+ Object b = data.getB();
+ Object c = data.getC();
final Object r1 = field.add(a, field.negate(a));
final Object r2 = field.zero();
assertEquals(r1, r2);
}
- @Test
- public void testMultiplicationAssociativity() {
+ @ParameterizedTest
+ @MethodSource("getList")
+ public void testMultiplicationAssociativity(FieldTestData data) {
+ Field field = data.getField();
+ Object a = data.getA();
+ Object b = data.getB();
+ Object c = data.getC();
final Object r1 = field.multiply(field.multiply(a, b), c);
final Object r2 = field.multiply(a, field.multiply(b, c));
assertEquals(r1, r2);
}
- @Test
- public void testMultiplicationCommutativity() {
+
+ @ParameterizedTest
+ @MethodSource("getList")
+ public void testMultiplicationCommutativity(FieldTestData data) {
+ Field field = data.getField();
+ Object a = data.getA();
+ Object b = data.getB();
+ Object c = data.getC();
final Object r1 = field.multiply(a, b);
final Object r2 = field.multiply(b, a);
assertEquals(r1, r2);
}
- @Test
- public void testMultiplicativeIdentity() {
+
+ @ParameterizedTest
+ @MethodSource("getList")
+ public void testMultiplicativeIdentity(FieldTestData data) {
+ Field field = data.getField();
+ Object a = data.getA();
+ Object b = data.getB();
+ Object c = data.getC();
final Object r1 = field.multiply(a, field.one());
final Object r2 = a;
assertEquals(r1, r2);
}
- @Test
- public void testMultiplicativeInverse() {
+
+ @ParameterizedTest
+ @MethodSource("getList")
+ public void testMultiplicativeInverse(FieldTestData data) {
+ Field field = data.getField();
+ Object a = data.getA();
+ Object b = data.getB();
+ Object c = data.getC();
final Object r1 = field.multiply(a, field.reciprocal(a));
final Object r2 = field.one();
assertEquals(r1, r2);
}
- @Test
- public void testDistributivity() {
+ @ParameterizedTest
+ @MethodSource("getList")
+ public void testDistributivity(FieldTestData data) {
+ Field field = data.getField();
+ Object a = data.getA();
+ Object b = data.getB();
+ Object c = data.getC();
final Object r1 = field.multiply(a, field.add(b, c));
final Object r2 = field.add(field.multiply(a, b), field.multiply(a, c));
assertEquals(r1, r2);
@@ -103,7 +146,6 @@ public class FieldParametricTest {
*/
private static void assertEquals(Object a,
Object b) {
- Assert.assertTrue(a + " != " + b,
- a.equals(b));
+ Assertions.assertEquals(a, b, a + " != " + b);
}
}
diff --git a/commons-numbers-field/src/test/java/org/apache/commons/numbers/field/FieldsList.java b/commons-numbers-field/src/test/java/org/apache/commons/numbers/field/FieldsList.java
index a341171..396c83f 100644
--- a/commons-numbers-field/src/test/java/org/apache/commons/numbers/field/FieldsList.java
+++ b/commons-numbers-field/src/test/java/org/apache/commons/numbers/field/FieldsList.java
@@ -26,10 +26,10 @@ import org.apache.commons.numbers.fraction.Fraction;
/**
* List of fields.
*/
-public class FieldsList {
+final class FieldsList {
/** List of all fields implemented in the library. */
- private static final List<FieldTestData[]> LIST =
- new ArrayList<FieldTestData[]>();
+ private static final List<FieldTestData> LIST =
+ new ArrayList<>();
static {
try {
@@ -50,6 +50,9 @@ public class FieldsList {
}
}
+ private FieldsList() {
+ }
+
/**
* @param field Field.
* @param a Field element.
@@ -59,7 +62,7 @@ public class FieldsList {
T a,
T b,
T c) {
- LIST.add(new FieldTestData[] { new FieldTestData(field, a, b, c) });
+ LIST.add(new FieldTestData(field, a, b, c));
}
/**
@@ -68,7 +71,7 @@ public class FieldsList {
*
* @return the list of all fields.
*/
- public static Iterable<FieldTestData[]> list() {
+ static List<FieldTestData> list() {
return Collections.unmodifiableList(LIST);
}
}