mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-20 00:51:42 +00:00
Adds a test to make sure WaitForData is properly waiting (#258)
This commit is contained in:
committed by
Peter Johnson
parent
7070162b98
commit
a59e00e901
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user