Skip to content

Commit

Permalink
unit testing thing
Browse files Browse the repository at this point in the history
  • Loading branch information
aahFancyGun committed Feb 1, 2025
1 parent 8c57c9d commit 1b9fbbc
Show file tree
Hide file tree
Showing 2 changed files with 88 additions and 6 deletions.
12 changes: 6 additions & 6 deletions src/main/java/frc/robot/BuildConstants.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ public final class BuildConstants {
public static final String MAVEN_GROUP = "";
public static final String MAVEN_NAME = "PH2025";
public static final String VERSION = "unspecified";
public static final int GIT_REVISION = 28;
public static final String GIT_SHA = "cb52a32e5e0e51ca3ab73598b476da94f065fcce";
public static final String GIT_DATE = "2025-02-01 12:19:50 CST";
public static final int GIT_REVISION = 29;
public static final String GIT_SHA = "8c57c9d1e30b6102266894a5597b217dba3e22ec";
public static final String GIT_DATE = "2025-02-01 12:44:16 CST";
public static final String GIT_BRANCH = "endeffecter-work";
public static final String BUILD_DATE = "2025-02-01 12:21:31 CST";
public static final long BUILD_UNIX_TIME = 1738434091766L;
public static final int DIRTY = 1;
public static final String BUILD_DATE = "2025-02-01 12:44:53 CST";
public static final long BUILD_UNIX_TIME = 1738435493122L;
public static final int DIRTY = 0;

private BuildConstants(){}
}
82 changes: 82 additions & 0 deletions src/test/java/frc/robot/subsystems/EndEffectorSubsystemTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
package frc.robot.subsystems;

import edu.wpi.first.hal.HAL;
import frc.robot.Constants;
import frc.robot.subsystems.endeffector.EndEffectorSubsystem;
import static org.mockito.ArgumentMatchers.doubleThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
import org.lasarobotics.drive.MAXSwerveModule;
import org.lasarobotics.drive.MAXSwerveModule.ModuleLocation;
import org.lasarobotics.hardware.kauailabs.NavX2;
import org.lasarobotics.hardware.kauailabs.NavX2InputsAutoLogged;
import org.lasarobotics.hardware.revrobotics.Spark;
import org.lasarobotics.hardware.revrobotics.Spark.MotorKind;
import org.lasarobotics.hardware.revrobotics.SparkInputsAutoLogged;
import org.lasarobotics.utils.GlobalConstants;
import org.mockito.AdditionalMatchers;
import org.mockito.ArgumentMatchers;


import org.lasarobotics.hardware.revrobotics.Spark;
import org.lasarobotics.hardware.revrobotics.SparkInputsAutoLogged;
import org.lasarobotics.hardware.revrobotics.Spark.MotorKind;

@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class EndEffectorSubsystemTest {
private EndEffectorSubsystem m_endEffectorSystem;
private EndEffectorSubsystem.Hardware m_endEffectorHardware;

private Spark m_endEffectorMotor;

@BeforeEach
public void setup() {
HAL.initialize(500, 0);

m_endEffectorMotor = mock(Spark.class);

SparkInputsAutoLogged sparkInputs = new SparkInputsAutoLogged();
when(m_endEffectorMotor.getInputs()).thenReturn(sparkInputs);

when(m_endEffectorMotor.getMotorType()).thenReturn(MotorKind.NEO_VORTEX);

when(m_endEffectorMotor.getID()).thenReturn(Constants.EndEffectorHardware.OUTTAKE_MOTOR_ID);

m_endEffectorHardware = new EndEffectorSubsystem.Hardware(m_endEffectorMotor);

m_endEffectorSystem = new EndEffectorSubsystem(m_endEffectorHardware);
}

public void close() {
m_endEffectorSystem.close();
m_endEffectorSystem = null;
}

private SparkInputsAutoLogged getRotateSparkInput(Rotation2d rotation, ModuleLocation moduleLocation) {
var sparkInputs = new SparkInputsAutoLogged();
sparkInputs.absoluteEncoderPosition = rotation.minus(moduleLocation.offset).getRadians();

return sparkInputs;
}

@Test
@Order(1)
@DisplayName("Test if End Effector can outtake")
public void outtake() {
SparkInputsAutoLogged sparkInputs = new SparkInputsAutoLogged();

m_endEffectorSystem.setState(EndEffectorSubsystem.endEffectorStates.SCORE);

verify(m_endEffectorMotor, times(1)).set(1.0);
}
}

0 comments on commit 1b9fbbc

Please sign in to comment.