/*----------------------------------------------------------------------------*/ /* Copyright (c) 2018-2020 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 "frc/simulation/AccelerometerSim.h" // NOLINT(build/include_order) #include #include #include "gtest/gtest.h" using namespace frc::sim; 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); }