mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-22 01:11:42 +00:00
SCRIPT Move cc files
This commit is contained in:
committed by
Peter Johnson
parent
10b4a0c971
commit
7ca1be9bae
39
wpilibc/src/test/native/cpp/JoystickTestMacros.hpp
Normal file
39
wpilibc/src/test/native/cpp/JoystickTestMacros.hpp
Normal 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()); \
|
||||
}
|
||||
Reference in New Issue
Block a user