diff --git a/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeJoystick.java b/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeJoystick.java index de1f1fc6..036eb08f 100644 --- a/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeJoystick.java +++ b/src/main/java/org/carlmontrobotics/lib199/safeMode/SafeJoystick.java @@ -108,7 +108,7 @@ public double getRawAxis(int axis) { * @param pov The POV to read * @return The value of the POV */ - public double getPOV(int pov) { + public int getPOV(int pov) { if (SafeMode.isEnabled() && safeDisabledPOV.containsKey(pov) && safeDisabledPOV.get(pov).contains(unsafeJoystick.getPOV(pov))) { return -1; } else { diff --git a/src/test/java/org/carlmontrobotics/lib199/MotorControllerFactoryTest.java b/src/test/java/org/carlmontrobotics/lib199/MotorControllerFactoryTest.java index d0791dbf..c887d01a 100644 --- a/src/test/java/org/carlmontrobotics/lib199/MotorControllerFactoryTest.java +++ b/src/test/java/org/carlmontrobotics/lib199/MotorControllerFactoryTest.java @@ -3,7 +3,7 @@ import static org.junit.Assert.assertEquals; import org.carlmontrobotics.lib199.testUtils.ErrStreamTest; -import org.carlmontrobotics.lib199.testUtils.SimDeviceTestRule; +import org.carlmontrobotics.lib199.testUtils.TestRules; import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; @@ -11,9 +11,9 @@ public class MotorControllerFactoryTest extends ErrStreamTest { @ClassRule - public static SimDeviceTestRule.Class simClassRule = new SimDeviceTestRule.Class(); + public static TestRules.InitializeHAL simClassRule = new TestRules.InitializeHAL(); @Rule - public SimDeviceTestRule.Test simTestRule = new SimDeviceTestRule.Test(); + public TestRules.ResetSimDeviceSimData simTestRule = new TestRules.ResetSimDeviceSimData(); @Test // AutoClosable.close() throws Exception diff --git a/src/test/java/org/carlmontrobotics/lib199/safeMode/SafeJoystickTest.java b/src/test/java/org/carlmontrobotics/lib199/safeMode/SafeJoystickTest.java index 7483c553..68509dc8 100644 --- a/src/test/java/org/carlmontrobotics/lib199/safeMode/SafeJoystickTest.java +++ b/src/test/java/org/carlmontrobotics/lib199/safeMode/SafeJoystickTest.java @@ -2,10 +2,18 @@ import static org.junit.Assert.*; +import org.carlmontrobotics.lib199.testUtils.TestRules; +import org.junit.ClassRule; +import org.junit.Test; + import edu.wpi.first.wpilibj.GenericHID; public class SafeJoystickTest { + @ClassRule + public static TestRules.InitializeHAL classRule = new TestRules.InitializeHAL(); + + @Test public void testSafeJoystick() { GenericHID normalJoystick = createDummyJoystick(0); GenericHID unsafeJoystick1 = createDummyJoystick(1); @@ -85,7 +93,7 @@ public void testSafeJoystick() { assertTrue(safeJoystick1.getRawButton(1)); assertTrue(safeJoystick1.getRawButtonPressed(1)); assertTrue(safeJoystick1.getRawButtonReleased(1)); - assertEquals(0.5, safeJoystick1.getRawAxis(0), 0.01); + assertEquals(0.0, safeJoystick1.getRawAxis(0), 0.01); assertEquals(0.5, safeJoystick1.getRawAxis(1), 0.01); assertEquals(1.0, safeJoystick1.getRawAxis(2), 0.01); assertEquals(-1, safeJoystick1.getPOV(0)); diff --git a/src/test/java/org/carlmontrobotics/lib199/safeMode/SafeModeCommandsTest.java b/src/test/java/org/carlmontrobotics/lib199/safeMode/SafeModeCommandsTest.java index 49a33b0f..57cc2f5f 100644 --- a/src/test/java/org/carlmontrobotics/lib199/safeMode/SafeModeCommandsTest.java +++ b/src/test/java/org/carlmontrobotics/lib199/safeMode/SafeModeCommandsTest.java @@ -4,6 +4,8 @@ import java.util.function.Function; +import org.carlmontrobotics.lib199.testUtils.TestRules; +import org.junit.ClassRule; import org.junit.Test; import edu.wpi.first.wpilibj2.command.Command; @@ -11,6 +13,9 @@ public class SafeModeCommandsTest { + @ClassRule + public static TestRules.InitializeHAL classRule = new TestRules.InitializeHAL(); + @Test public void testSafeCommand() { testCommand(SafeCommand::new, true, false); diff --git a/src/test/java/org/carlmontrobotics/lib199/safeMode/SafeModeTest.java b/src/test/java/org/carlmontrobotics/lib199/safeMode/SafeModeTest.java index 4e993564..bbd596d2 100644 --- a/src/test/java/org/carlmontrobotics/lib199/safeMode/SafeModeTest.java +++ b/src/test/java/org/carlmontrobotics/lib199/safeMode/SafeModeTest.java @@ -9,6 +9,8 @@ import java.util.function.LongSupplier; import java.util.function.Supplier; +import org.carlmontrobotics.lib199.testUtils.TestRules; +import org.junit.ClassRule; import org.junit.Test; import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; @@ -16,6 +18,8 @@ public class SafeModeTest { + @ClassRule + public static TestRules.InitializeHAL classRule = new TestRules.InitializeHAL(); // Test SafeMode.java using JUnit @Test diff --git a/src/test/java/org/carlmontrobotics/lib199/sim/MockPheonixControllerTest.java b/src/test/java/org/carlmontrobotics/lib199/sim/MockPheonixControllerTest.java index 717580b2..45873652 100644 --- a/src/test/java/org/carlmontrobotics/lib199/sim/MockPheonixControllerTest.java +++ b/src/test/java/org/carlmontrobotics/lib199/sim/MockPheonixControllerTest.java @@ -8,7 +8,7 @@ import org.carlmontrobotics.lib199.Mocks; import org.carlmontrobotics.lib199.testUtils.SafelyClosable; -import org.carlmontrobotics.lib199.testUtils.SimDeviceTestRule; +import org.carlmontrobotics.lib199.testUtils.TestRules; import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; @@ -20,9 +20,9 @@ public abstract class MockPheonixControllerTest { @ClassRule - public static SimDeviceTestRule.Class simClassRule = new SimDeviceTestRule.Class(); + public static TestRules.InitializeHAL simClassRule = new TestRules.InitializeHAL(); @Rule - public SimDeviceTestRule.Test simTestRule = new SimDeviceTestRule.Test(); + public TestRules.ResetSimDeviceSimData simTestRule = new TestRules.ResetSimDeviceSimData(); protected abstract BaseMotorController createController(int portPWM); diff --git a/src/test/java/org/carlmontrobotics/lib199/sim/MockedSparkEncoderTest.java b/src/test/java/org/carlmontrobotics/lib199/sim/MockedSparkEncoderTest.java index dff7b958..95595f96 100644 --- a/src/test/java/org/carlmontrobotics/lib199/sim/MockedSparkEncoderTest.java +++ b/src/test/java/org/carlmontrobotics/lib199/sim/MockedSparkEncoderTest.java @@ -13,7 +13,7 @@ import org.carlmontrobotics.lib199.Mocks; import org.carlmontrobotics.lib199.REVLibErrorAnswer; import org.carlmontrobotics.lib199.testUtils.SafelyClosable; -import org.carlmontrobotics.lib199.testUtils.SimDeviceTestRule; +import org.carlmontrobotics.lib199.testUtils.TestRules; import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; @@ -24,9 +24,9 @@ public class MockedSparkEncoderTest { @ClassRule - public static SimDeviceTestRule.Class simClassRule = new SimDeviceTestRule.Class(); + public static TestRules.InitializeHAL simClassRule = new TestRules.InitializeHAL(); @Rule - public SimDeviceTestRule.Test simTestRule = new SimDeviceTestRule.Test(); + public TestRules.ResetSimDeviceSimData simTestRule = new TestRules.ResetSimDeviceSimData(); @Test public void testDeviceCreation() { diff --git a/src/test/java/org/carlmontrobotics/lib199/testUtils/SimDeviceTestRule.java b/src/test/java/org/carlmontrobotics/lib199/testUtils/TestRules.java similarity index 83% rename from src/test/java/org/carlmontrobotics/lib199/testUtils/SimDeviceTestRule.java rename to src/test/java/org/carlmontrobotics/lib199/testUtils/TestRules.java index 0a3fdc23..cf0e991b 100644 --- a/src/test/java/org/carlmontrobotics/lib199/testUtils/SimDeviceTestRule.java +++ b/src/test/java/org/carlmontrobotics/lib199/testUtils/TestRules.java @@ -7,15 +7,15 @@ import edu.wpi.first.hal.HAL; import edu.wpi.first.wpilibj.simulation.SimDeviceSim; -public class SimDeviceTestRule { +public class TestRules { - public static class Class implements TestRule { + public static class InitializeHAL implements TestRule { @Override public Statement apply(Statement base, Description description) { return new Statement(){ @Override public void evaluate() throws Throwable { - // HAL must be initialized or SimDeviceSim.resetData() will crash + // HAL must be initialized or SimDeviceSim.resetData() will crash and SmartDashboard might not work. HAL.initialize(500, 0); base.evaluate(); HAL.shutdown(); @@ -24,7 +24,7 @@ public void evaluate() throws Throwable { } } - public static class Test implements TestRule { + public static class ResetSimDeviceSimData implements TestRule { @Override public Statement apply(Statement base, Description description) { return new Statement(){