[wpilibc] Transition C++ classes to units::second_t (#3396)

A lot of these are breaking changes. frc::Timer was replaced with the
contents of frc2::Timer. The others were in-place argument changes or
removing deprecated non-unit overloads.
This commit is contained in:
Tyler Veness
2021-05-28 22:06:59 -07:00
committed by GitHub
parent 827b17a52b
commit e09293a15e
99 changed files with 503 additions and 790 deletions

View File

@@ -4,35 +4,19 @@
#include "frc/Timer.h" // NOLINT(build/include_order)
#include "TestBench.h"
#include <units/math.h>
#include "gtest/gtest.h"
using namespace frc;
#define EXPECT_NEAR_UNITS(val1, val2, eps) \
EXPECT_LE(units::math::abs(val1 - val2), eps)
static const double kWaitTime = 0.5;
TEST(TimerTest, Wait) {
auto initialTime = frc::Timer::GetFPGATimestamp();
class TimerTest : public testing::Test {
protected:
Timer* m_timer;
frc::Wait(500_ms);
void SetUp() override { m_timer = new Timer; }
auto finalTime = frc::Timer::GetFPGATimestamp();
void TearDown() override { delete m_timer; }
void Reset() { m_timer->Reset(); }
};
/**
* Test if the Wait function works
*/
TEST_F(TimerTest, Wait) {
Reset();
double initialTime = m_timer->GetFPGATimestamp();
Wait(kWaitTime);
double finalTime = m_timer->GetFPGATimestamp();
EXPECT_NEAR(kWaitTime, finalTime - initialTime, 0.001);
EXPECT_NEAR_UNITS(500_ms, finalTime - initialTime, 1_ms);
}