From 63c6d3dea0045bcd65364dcf65ef3dffe582c630 Mon Sep 17 00:00:00 2001 From: "Keenan D. Buckley" Date: Sat, 11 Apr 2020 13:18:40 -0600 Subject: [PATCH] Cleanup code and improve Templates --- .templates/SubsystemTest.java | 20 +++---- .templates/UtilityTest.java | 60 ++++++++++++------- .../robot/subsystems/LEDSubsystemTest.java | 14 ++--- .../frc4388/utility/RobotGyroUtilityTest.java | 6 +- .../frc4388/utility/RobotTimeUtilityTest.java | 32 ++++++---- 5 files changed, 71 insertions(+), 61 deletions(-) diff --git a/.templates/SubsystemTest.java b/.templates/SubsystemTest.java index a138c61..51f30d5 100644 --- a/.templates/SubsystemTest.java +++ b/.templates/SubsystemTest.java @@ -5,21 +5,21 @@ /* the project. */ /*----------------------------------------------------------------------------*/ -package frc4388.utility; +package frc4388.robot.subsystems; import static org.junit.Assert.*; import static org.mockito.Mockito.*; + import org.junit.*; -import edu.wpi.first.wpilibj.*; - -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; +import edu.wpi.first.wpilibj.Spark; +import frc4388.robot.Constants.LEDConstants; +import frc4388.utility.LEDPatterns; /** - * Add your docs here. + * Based off the LEDSubsystemTest class */ -public class UtilityTest { +public class SubsystemTest { @Test public void testConstructor() { // Arrange @@ -56,10 +56,4 @@ public class UtilityTest { // Assert assertEquals(LEDPatterns.SOLID_BLACK.getValue(), led.getPattern().getValue(), 0.0001); } - - private void wait(int millis) { - try { - Thread.sleep(millis); - } catch (Exception e) {} - } } diff --git a/.templates/UtilityTest.java b/.templates/UtilityTest.java index 7dd40d0..11c15cd 100644 --- a/.templates/UtilityTest.java +++ b/.templates/UtilityTest.java @@ -9,39 +9,53 @@ package frc4388.utility; import static org.junit.Assert.*; import static org.mockito.Mockito.*; + +import com.kauailabs.navx.frc.AHRS; + import org.junit.*; -import edu.wpi.first.wpilibj.*; - -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; +import frc4388.mocks.MockPigeonIMU; +import frc4388.robot.Constants.DriveConstants; /** - * Add your docs here. + * Based on the RobotGyroUtilityTest class */ public class UtilityTest { - @Test - public void testExample() { - // Arrange - boolean isFalse = false; - int i = 0; - double d = 0.0; + private RobotGyro gyroPigeon; + private RobotGyro gyroNavX; - // Act - wait(1); - isFalse = !isFalse; - i++; - d -= Math.PI; + @Test + public void testConstructor() { + // Arrange + MockPigeonIMU pigeon = new MockPigeonIMU(DriveConstants.DRIVE_PIGEON_ID); + AHRS navX = mock(AHRS.class); + gyroPigeon = new RobotGyro(pigeon); + gyroNavX = new RobotGyro(navX); // Assert - assertEquals(1, i); - assertEquals(-Math.PI, d, 0.001); - assertEquals(true, isFalse); + assertEquals(true, gyroPigeon.m_isGyroAPigeon); + assertEquals(pigeon, gyroPigeon.getPigeon()); + assertEquals(null, gyroPigeon.getNavX()); + assertEquals(false, gyroNavX.m_isGyroAPigeon); + assertEquals(navX, gyroNavX.getNavX()); + assertEquals(null, gyroNavX.getPigeon()); } - private void wait(int millis) { - try { - Thread.sleep(millis); - } catch (Exception e) {} + @Test + public void testHeadingPigeon() { + // Arrange + MockPigeonIMU pigeon = new MockPigeonIMU(DriveConstants.DRIVE_PIGEON_ID); + gyroPigeon = new RobotGyro(pigeon); + + // Act & Assert + assertEquals(-90, gyroPigeon.getHeading(270), 0.0001); + assertEquals(-45, gyroPigeon.getHeading(315), 0.0001); + assertEquals(-60, gyroPigeon.getHeading(-60), 0.0001); + assertEquals(30, gyroPigeon.getHeading(30), 0.0001); + assertEquals(0, gyroPigeon.getHeading(0), 0.0001); + assertEquals(180, gyroPigeon.getHeading(180), 0.0001); + assertEquals(-180, gyroPigeon.getHeading(-180), 0.0001); + assertEquals(97, gyroPigeon.getHeading(1537), 0.0001); + assertEquals(99, gyroPigeon.getHeading(-2781), 0.0001); } } diff --git a/src/test/java/frc4388/robot/subsystems/LEDSubsystemTest.java b/src/test/java/frc4388/robot/subsystems/LEDSubsystemTest.java index b1dd630..8fcbf53 100644 --- a/src/test/java/frc4388/robot/subsystems/LEDSubsystemTest.java +++ b/src/test/java/frc4388/robot/subsystems/LEDSubsystemTest.java @@ -7,9 +7,11 @@ package frc4388.robot.subsystems; -import static org.junit.Assert.*; -import static org.mockito.Mockito.*; -import org.junit.*; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; + +import org.junit.Test; + import edu.wpi.first.wpilibj.*; import frc4388.robot.Constants.LEDConstants; import frc4388.utility.LEDPatterns; @@ -54,10 +56,4 @@ public class LEDSubsystemTest { // Assert assertEquals(LEDPatterns.SOLID_BLACK.getValue(), led.getPattern().getValue(), 0.0001); } - - private void wait(int millis) { - try { - Thread.sleep(millis); - } catch (Exception e) {} - } } diff --git a/src/test/java/frc4388/utility/RobotGyroUtilityTest.java b/src/test/java/frc4388/utility/RobotGyroUtilityTest.java index f7bbe67..8c0b1e5 100644 --- a/src/test/java/frc4388/utility/RobotGyroUtilityTest.java +++ b/src/test/java/frc4388/utility/RobotGyroUtilityTest.java @@ -9,15 +9,13 @@ package frc4388.utility; import static org.junit.Assert.*; import static org.mockito.Mockito.*; -import org.junit.*; -import edu.wpi.first.wpilibj.*; -import com.ctre.phoenix.sensors.PigeonIMU; import com.kauailabs.navx.frc.AHRS; +import org.junit.*; + import frc4388.mocks.MockPigeonIMU; import frc4388.robot.Constants.DriveConstants; -import frc4388.utility.RobotGyro; /** * Add your docs here. diff --git a/src/test/java/frc4388/utility/RobotTimeUtilityTest.java b/src/test/java/frc4388/utility/RobotTimeUtilityTest.java index c520321..2c31a34 100644 --- a/src/test/java/frc4388/utility/RobotTimeUtilityTest.java +++ b/src/test/java/frc4388/utility/RobotTimeUtilityTest.java @@ -8,10 +8,8 @@ package frc4388.utility; import static org.junit.Assert.*; -import static org.mockito.Mockito.*; -import org.junit.*; -import edu.wpi.first.wpilibj.*; +import org.junit.*; /** * Add your docs here. @@ -21,7 +19,7 @@ public class RobotTimeUtilityTest { @Test public void testUpdateTimes() { - // SETUP + // Arrange long lastTime; robotTime.m_deltaTime = 0; robotTime.m_robotTime = 0; @@ -30,25 +28,29 @@ public class RobotTimeUtilityTest { robotTime.endMatchTime(); robotTime.m_lastMatchTime = 0; - // TEST 1 + // Assert assertEquals(0, robotTime.m_deltaTime); assertEquals(0, robotTime.m_robotTime); assertEquals(0, robotTime.m_lastRobotTime); assertEquals(0, robotTime.m_frameNumber); lastTime = robotTime.m_robotTime; - // TEST 2 + // Act wait(1); robotTime.updateTimes(); + + // Assert assertEquals(true, robotTime.m_deltaTime > 0); assertEquals(true, robotTime.m_robotTime > 0); assertEquals(lastTime, robotTime.m_lastRobotTime); assertEquals(1, robotTime.m_frameNumber); lastTime = robotTime.m_robotTime; - // TEST 3 + // Act wait(1); robotTime.updateTimes(); + + // Assert assertEquals(true, robotTime.m_deltaTime > 0); assertEquals(true, robotTime.m_robotTime > 0); assertEquals(lastTime, robotTime.m_lastRobotTime); @@ -57,33 +59,39 @@ public class RobotTimeUtilityTest { @Test public void testMatchTime() { - // SETUP + // Arrange long lastTime; - // TEST 1 + // Assert assertEquals(0, robotTime.m_matchTime); assertEquals(0, robotTime.m_lastMatchTime); lastTime = robotTime.m_matchTime; - // TEST 2 + // Act robotTime.startMatchTime(); wait(1); robotTime.updateTimes(); + + // Assert assertEquals(true, robotTime.m_matchTime > 0); assertEquals(lastTime, robotTime.m_lastMatchTime); lastTime = robotTime.m_matchTime; - // TEST 3 + // Act wait(1); robotTime.updateTimes(); robotTime.endMatchTime(); + + // Assert assertEquals(0, robotTime.m_matchTime); assertEquals(lastTime, robotTime.m_lastMatchTime); lastTime = robotTime.m_matchTime; - // TEST 4 + // Act wait(1); robotTime.updateTimes(); + + // Assert assertEquals(0, robotTime.m_matchTime); assertEquals(lastTime, robotTime.m_lastMatchTime); }