blob: 99ec9f5352af24900d12681526902e6e42b1ace7 [file] [log] [blame]
Austin Schuh812d0d12021-11-04 20:16:48 -07001// Copyright (c) FIRST and other WPILib contributors.
2// Open Source Software; you can modify and/or share it under the terms of
3// the WPILib BSD license file in the root directory of this project.
Brian Silverman8fce7482020-01-05 13:18:21 -08004
5#include "frc/Timer.h" // NOLINT(build/include_order)
6
Austin Schuh812d0d12021-11-04 20:16:48 -07007#include <units/math.h>
8
Brian Silverman8fce7482020-01-05 13:18:21 -08009#include "gtest/gtest.h"
10
Austin Schuh812d0d12021-11-04 20:16:48 -070011#define EXPECT_NEAR_UNITS(val1, val2, eps) \
12 EXPECT_LE(units::math::abs(val1 - val2), eps)
Brian Silverman8fce7482020-01-05 13:18:21 -080013
Austin Schuh812d0d12021-11-04 20:16:48 -070014TEST(TimerTest, Wait) {
15 auto initialTime = frc::Timer::GetFPGATimestamp();
Brian Silverman8fce7482020-01-05 13:18:21 -080016
Austin Schuh812d0d12021-11-04 20:16:48 -070017 frc::Wait(500_ms);
Brian Silverman8fce7482020-01-05 13:18:21 -080018
Austin Schuh812d0d12021-11-04 20:16:48 -070019 auto finalTime = frc::Timer::GetFPGATimestamp();
Brian Silverman8fce7482020-01-05 13:18:21 -080020
Austin Schuh812d0d12021-11-04 20:16:48 -070021 EXPECT_NEAR_UNITS(500_ms, finalTime - initialTime, 1_ms);
Brian Silverman8fce7482020-01-05 13:18:21 -080022}