From 901ab693d48df573bd2b7d8abda9106bee73b53e Mon Sep 17 00:00:00 2001 From: Ryan Blue Date: Fri, 9 Jun 2023 00:11:26 -0400 Subject: [PATCH] [wpimath] Use UtilityClassTest for more utility classes (#5384) --- wpimath/src/main/java/edu/wpi/first/math/DARE.java | 4 +++- .../src/main/java/edu/wpi/first/math/StateSpaceUtil.java | 2 +- .../java/edu/wpi/first/math/ComputerVisionUtilTest.java | 7 ++++++- wpimath/src/test/java/edu/wpi/first/math/DARETest.java | 7 ++++++- wpimath/src/test/java/edu/wpi/first/math/MathUtilTest.java | 7 ++++++- .../test/java/edu/wpi/first/math/StateSpaceUtilTest.java | 7 ++++++- 6 files changed, 28 insertions(+), 6 deletions(-) diff --git a/wpimath/src/main/java/edu/wpi/first/math/DARE.java b/wpimath/src/main/java/edu/wpi/first/math/DARE.java index c9757b778a..76b604cff4 100644 --- a/wpimath/src/main/java/edu/wpi/first/math/DARE.java +++ b/wpimath/src/main/java/edu/wpi/first/math/DARE.java @@ -7,7 +7,9 @@ package edu.wpi.first.math; import org.ejml.simple.SimpleMatrix; public final class DARE { - private DARE() {} + private DARE() { + throw new UnsupportedOperationException("This is a utility class!"); + } /** * Solves the discrete algebraic Riccati equation. diff --git a/wpimath/src/main/java/edu/wpi/first/math/StateSpaceUtil.java b/wpimath/src/main/java/edu/wpi/first/math/StateSpaceUtil.java index 62518b29f4..27ed9e0bb0 100644 --- a/wpimath/src/main/java/edu/wpi/first/math/StateSpaceUtil.java +++ b/wpimath/src/main/java/edu/wpi/first/math/StateSpaceUtil.java @@ -15,7 +15,7 @@ public final class StateSpaceUtil { private static Random rand = new Random(); private StateSpaceUtil() { - // Utility class + throw new UnsupportedOperationException("This is a utility class!"); } /** diff --git a/wpimath/src/test/java/edu/wpi/first/math/ComputerVisionUtilTest.java b/wpimath/src/test/java/edu/wpi/first/math/ComputerVisionUtilTest.java index 29278475d7..3c281e559a 100644 --- a/wpimath/src/test/java/edu/wpi/first/math/ComputerVisionUtilTest.java +++ b/wpimath/src/test/java/edu/wpi/first/math/ComputerVisionUtilTest.java @@ -11,9 +11,14 @@ import edu.wpi.first.math.geometry.Rotation3d; import edu.wpi.first.math.geometry.Transform3d; import edu.wpi.first.math.geometry.Translation3d; import edu.wpi.first.math.util.Units; +import edu.wpi.first.wpilibj.UtilityClassTest; import org.junit.jupiter.api.Test; -class ComputerVisionUtilTest { +class ComputerVisionUtilTest extends UtilityClassTest { + ComputerVisionUtilTest() { + super(ComputerVisionUtil.class); + } + @Test void testObjectToRobotPose() { var robot = new Pose3d(1.0, 2.0, 0.0, new Rotation3d(0.0, 0.0, Units.degreesToRadians(30.0))); diff --git a/wpimath/src/test/java/edu/wpi/first/math/DARETest.java b/wpimath/src/test/java/edu/wpi/first/math/DARETest.java index 082ecf14e1..fae150b4ef 100644 --- a/wpimath/src/test/java/edu/wpi/first/math/DARETest.java +++ b/wpimath/src/test/java/edu/wpi/first/math/DARETest.java @@ -6,10 +6,15 @@ package edu.wpi.first.math; import static org.junit.jupiter.api.Assertions.assertEquals; +import edu.wpi.first.wpilibj.UtilityClassTest; import org.ejml.simple.SimpleMatrix; import org.junit.jupiter.api.Test; -class DARETest { +class DARETest extends UtilityClassTest { + DARETest() { + super(DARE.class); + } + public static void assertMatrixEqual(SimpleMatrix A, SimpleMatrix B) { for (int i = 0; i < A.numRows(); i++) { for (int j = 0; j < A.numCols(); j++) { diff --git a/wpimath/src/test/java/edu/wpi/first/math/MathUtilTest.java b/wpimath/src/test/java/edu/wpi/first/math/MathUtilTest.java index a3de9ccd56..5e1a01e57e 100644 --- a/wpimath/src/test/java/edu/wpi/first/math/MathUtilTest.java +++ b/wpimath/src/test/java/edu/wpi/first/math/MathUtilTest.java @@ -6,9 +6,14 @@ package edu.wpi.first.math; import static org.junit.jupiter.api.Assertions.assertEquals; +import edu.wpi.first.wpilibj.UtilityClassTest; import org.junit.jupiter.api.Test; -class MathUtilTest { +class MathUtilTest extends UtilityClassTest { + MathUtilTest() { + super(MathUtil.class); + } + @Test void testApplyDeadbandUnityScale() { // < 0 diff --git a/wpimath/src/test/java/edu/wpi/first/math/StateSpaceUtilTest.java b/wpimath/src/test/java/edu/wpi/first/math/StateSpaceUtilTest.java index 054c29adb0..ee33f01526 100644 --- a/wpimath/src/test/java/edu/wpi/first/math/StateSpaceUtilTest.java +++ b/wpimath/src/test/java/edu/wpi/first/math/StateSpaceUtilTest.java @@ -12,13 +12,18 @@ import edu.wpi.first.math.geometry.Pose2d; import edu.wpi.first.math.geometry.Rotation2d; import edu.wpi.first.math.numbers.N1; import edu.wpi.first.math.numbers.N2; +import edu.wpi.first.wpilibj.UtilityClassTest; import java.util.ArrayList; import java.util.List; import org.ejml.dense.row.MatrixFeatures_DDRM; import org.ejml.simple.SimpleMatrix; import org.junit.jupiter.api.Test; -class StateSpaceUtilTest { +class StateSpaceUtilTest extends UtilityClassTest { + StateSpaceUtilTest() { + super(StateSpaceUtil.class); + } + @Test void testCostArray() { var mat = StateSpaceUtil.makeCostMatrix(VecBuilder.fill(1.0, 2.0, 3.0));