/*----------------------------------------------------------------------------*/ /* Copyright (c) 2018 FIRST. 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. */ /*----------------------------------------------------------------------------*/ #include "HAL/Accelerometer.h" #include "HAL/HAL.h" #include "Simulation/AccelerometerSim.h" #include "gtest/gtest.h" using namespace frc::sim; namespace hal { TEST(AcclerometerSimTests, TestActiveCallback) { HAL_Initialize(500, 0); AccelerometerSim sim{0}; sim.ResetData(); bool wasTriggered = false; bool lastValue = false; auto cb = sim.RegisterActiveCallback( [&](wpi::StringRef name, const HAL_Value* value) { wasTriggered = true; lastValue = value->data.v_boolean; }, false); EXPECT_FALSE(wasTriggered); HAL_SetAccelerometerActive(true); EXPECT_TRUE(wasTriggered); EXPECT_TRUE(lastValue); } } // namespace hal