mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-20 00:51:42 +00:00
Improves the general stability of the CANJaguarDefault tests
Adds a poling wait to all of the tests to accommodate the CANJaguar Change-Id: I15a64a5fe901cb775bf03ef0b08c2f83429ef9b5
This commit is contained in:
@@ -17,7 +17,6 @@ import java.util.concurrent.TimeUnit;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.googlecode.junittoolbox.PollingWait;
|
||||
@@ -32,6 +31,7 @@ import edu.wpi.first.wpilibj.Timer;
|
||||
*/
|
||||
public class CANDefaultTest extends AbstractCANTest{
|
||||
private static final Logger logger = Logger.getLogger(CANDefaultTest.class.getName());
|
||||
private final PollingWait wait = new PollingWait().timeoutAfter(65, TimeUnit.MILLISECONDS).pollEvery(10, TimeUnit.MILLISECONDS);
|
||||
|
||||
private static final double kSpikeTime = .5;
|
||||
|
||||
@@ -48,51 +48,92 @@ public class CANDefaultTest extends AbstractCANTest{
|
||||
getME().getMotor().enableControl();
|
||||
getME().getMotor().set(0.0f);
|
||||
/* The motor might still have momentum from the previous test. */
|
||||
Timer.delay(kStartupTime);
|
||||
Timer.delay(kStartupTime/2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDefaultGet(){
|
||||
assertEquals("CAN Jaguar did not initilize stopped", 0.0, getME().getMotor().get(), .01f);
|
||||
wait.until(new RunnableAssert("Waiting for CAN Jaguar get to return 0") {
|
||||
@Override
|
||||
public void run() {
|
||||
assertEquals("CAN Jaguar did not initialize stopped", 0.0, getME().getMotor().get(), .01f);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDefaultBusVoltage(){
|
||||
assertEquals("CAN Jaguar did not start at 14 volts", 14.0f, getME().getMotor().getBusVoltage(), 2.0f);
|
||||
wait.until(new RunnableAssert("Waiting for default bus voltage to be correct") {
|
||||
@Override
|
||||
public void run() {
|
||||
assertEquals("CAN Jaguar did not start at 14 volts", 14.0f, getME().getMotor().getBusVoltage(), 2.0f);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDefaultOutputVoltage(){
|
||||
assertEquals("CAN Jaguar did not start with an output voltage of 0", 0.0f, getME().getMotor().getOutputVoltage(), 0.3f);
|
||||
|
||||
wait.until(new RunnableAssert("Waiting for output voltage to be correct") {
|
||||
@Override
|
||||
public void run() {
|
||||
assertEquals("CAN Jaguar did not start with an output voltage of 0", 0.0f, getME().getMotor().getOutputVoltage(), 0.3f);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDefaultOutputCurrent(){
|
||||
assertEquals("CAN Jaguar did not start with an output current of 0", 0.0f, getME().getMotor().getOutputCurrent(), 0.3f);
|
||||
wait.until(new RunnableAssert("Waiting for output current to be correct") {
|
||||
@Override
|
||||
public void run() {
|
||||
assertEquals("CAN Jaguar did not start with an output current of 0", 0.0f, getME().getMotor().getOutputCurrent(), 0.3f);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDefaultTemperature(){
|
||||
double room_temp = 18.0f;
|
||||
assertThat("CAN Jaguar did not start with an initial temperature greater than " + room_temp, getME().getMotor().getTemperature(), is(greaterThan(room_temp)));
|
||||
final double room_temp = 18.0f;
|
||||
wait.until(new RunnableAssert("Waiting for temperature to be correct") {
|
||||
@Override
|
||||
public void run() {
|
||||
assertThat("CAN Jaguar did not start with an initial temperature greater than " + room_temp, getME().getMotor().getTemperature(), is(greaterThan(room_temp)));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDefaultForwardLimit(){
|
||||
getME().getMotor().configLimitMode(CANJaguar.LimitMode.SwitchInputsOnly);
|
||||
assertTrue("CAN Jaguar did not start with the Forward Limit Switch Off", getME().getMotor().getForwardLimitOK());
|
||||
wait.until(new RunnableAssert("Waiting for forward limit to not be set") {
|
||||
@Override
|
||||
public void run() {
|
||||
getME().getMotor().set(0);
|
||||
assertTrue("CAN Jaguar did not start with the Forward Limit Switch Off", getME().getMotor().getForwardLimitOK());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDefaultReverseLimit(){
|
||||
getME().getMotor().configLimitMode(CANJaguar.LimitMode.SwitchInputsOnly);
|
||||
assertTrue("CAN Jaguar did not start with the Reverse Limit Switch Off", getME().getMotor().getReverseLimitOK());
|
||||
wait.until(new RunnableAssert("Waiting for reverse limit to not be set") {
|
||||
@Override
|
||||
public void run() {
|
||||
getME().getMotor().set(0);
|
||||
assertTrue("CAN Jaguar did not start with the Reverse Limit Switch Off", getME().getMotor().getReverseLimitOK());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDefaultNoFaults(){
|
||||
assertEquals("CAN Jaguar initialized with Faults", 0, getME().getMotor().getFaults());
|
||||
wait.until(new RunnableAssert("Waiting for no faults") {
|
||||
@Override
|
||||
public void run() {
|
||||
assertEquals("CAN Jaguar initialized with Faults", 0, getME().getMotor().getFaults());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -102,7 +143,6 @@ public class CANDefaultTest extends AbstractCANTest{
|
||||
//Given
|
||||
getME().getMotor().configLimitMode(CANJaguar.LimitMode.SwitchInputsOnly);
|
||||
getME().getMotor().enableControl();
|
||||
assertTrue("[TEST SETUP] CANJaguar did not start with the Forward Limit Switch low", getME().getMotor().getForwardLimitOK());
|
||||
|
||||
//When
|
||||
getME().getForwardLimit().set(true);
|
||||
@@ -124,7 +164,7 @@ public class CANDefaultTest extends AbstractCANTest{
|
||||
//Given
|
||||
getME().getMotor().configLimitMode(CANJaguar.LimitMode.SwitchInputsOnly);
|
||||
getME().getMotor().enableControl();
|
||||
assertTrue("[TEST SETUP] CANJaguar did not start with the Reverse Limit Switch low", getME().getMotor().getReverseLimitOK());
|
||||
|
||||
//When
|
||||
getME().getReverseLimit().set(true);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user