SCRIPT Move cc files

This commit is contained in:
PJ Reiniger
2025-11-07 19:55:39 -05:00
committed by Peter Johnson
parent 10b4a0c971
commit 7ca1be9bae
1197 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
// Copyright (c) FIRST and other WPILib contributors.
// Open Source Software; you can modify and/or share it under the terms of
// the WPILib BSD license file in the root directory of this project.
#pragma once
#define AXIS_TEST(JoystickType, AxisName) \
TEST(JoystickType##Test, Get##AxisName) { \
JoystickType joy{2}; \
sim::JoystickType##Sim joysim{joy}; \
joysim.Set##AxisName(0.35); \
joysim.NotifyNewData(); \
ASSERT_NEAR(joy.Get##AxisName(), 0.35, 0.001); \
}
#define BUTTON_TEST(JoystickType, ButtonName) \
TEST(JoystickType##Test, Get##ButtonName) { \
JoystickType joy{1}; \
sim::JoystickType##Sim joysim{joy}; \
\
joysim.Set##ButtonName(false); \
joysim.NotifyNewData(); \
ASSERT_FALSE(joy.Get##ButtonName()); \
/* need to call pressed and released to clear flags */ \
joy.Get##ButtonName##Pressed(); \
joy.Get##ButtonName##Released(); \
\
joysim.Set##ButtonName(true); \
joysim.NotifyNewData(); \
ASSERT_TRUE(joy.Get##ButtonName()); \
ASSERT_TRUE(joy.Get##ButtonName##Pressed()); \
ASSERT_FALSE(joy.Get##ButtonName##Released()); \
\
joysim.Set##ButtonName(false); \
joysim.NotifyNewData(); \
ASSERT_FALSE(joy.Get##ButtonName()); \
ASSERT_FALSE(joy.Get##ButtonName##Pressed()); \
ASSERT_TRUE(joy.Get##ButtonName##Released()); \
}