Adds a test to make sure WaitForData is properly waiting (#258)

This commit is contained in:
Thad House
2016-10-06 11:18:47 -07:00
committed by Peter Johnson
parent 7070162b98
commit a59e00e901
3 changed files with 81 additions and 4 deletions

View File

@@ -0,0 +1,44 @@
/*----------------------------------------------------------------------------*/
/* Copyright (c) FIRST 2008-2016. All Rights Reserved. */
/* Open Source Software - may be modified and shared by FRC teams. The code */
/* must be accompanied by the FIRST BSD license file in the root directory of */
/* the project. */
/*----------------------------------------------------------------------------*/
package edu.wpi.first.wpilibj;
import org.junit.Test;
import java.util.logging.Logger;
import edu.wpi.first.wpilibj.test.AbstractComsSetup;
import static org.junit.Assert.assertEquals;
public class DriverStationTest extends AbstractComsSetup {
private static final Logger logger = Logger.getLogger(TimerTest.class.getName());
private static final double TIMER_TOLERANCE = 0.2;
private static final long TIMER_RUNTIME = 1000000; // 1 second
@Override
protected Logger getClassLogger() {
return logger;
}
@Test
public void waitForDataTest() {
long startTime = Utility.getFPGATime();
// Wait for data 50 times
for (int i = 0; i < 50; i++) {
DriverStation.getInstance().waitForData();
}
long endTime = Utility.getFPGATime();
long difference = endTime - startTime;
assertEquals("DriverStation waitForData did not wait long enough", TIMER_RUNTIME, difference,
TIMER_TOLERANCE * TIMER_RUNTIME);
}
}

View File

@@ -21,10 +21,10 @@ import edu.wpi.first.wpilibj.test.AbstractTestSuite;
@SuiteClasses({AnalogCrossConnectTest.class, AnalogPotentiometerTest.class,
BuiltInAccelerometerTest.class, CANTalonTest.class,
CircularBufferTest.class, ConstantsPortsTest.class, CounterTest.class,
DigitalGlitchFilterTest.class, DIOCrossConnectTest.class, EncoderTest.class,
FilterNoiseTest.class, FilterOutputTest.class, GyroTest.class, MotorEncoderTest.class,
MotorInvertingTest.class, PCMTest.class, PDPTest.class, PIDTest.class,
PIDToleranceTest.class, PreferencesTest.class, RelayCrossConnectTest.class,
DigitalGlitchFilterTest.class, DIOCrossConnectTest.class, DriverStationTest.class,
EncoderTest.class, FilterNoiseTest.class, FilterOutputTest.class, GyroTest.class,
MotorEncoderTest.class, MotorInvertingTest.class, PCMTest.class, PDPTest.class,
PIDTest.class, PIDToleranceTest.class, PreferencesTest.class, RelayCrossConnectTest.class,
SampleTest.class, TimerTest.class})
public class WpiLibJTestSuite extends AbstractTestSuite {
}