From f27a1f9bfb9d28ac629a50138cb49faddfad3fe4 Mon Sep 17 00:00:00 2001 From: ohowe <42757516+carelesshippo@users.noreply.github.com> Date: Fri, 8 Apr 2022 22:20:23 -0600 Subject: [PATCH] [commands] Fix JoystickButton.getAsBoolean (#4131) This previously always returned false; the get method it inherited was not used in the getAsBoolean defined in the Trigger class. The fix is to swap get() and getAsBoolean() implementations in the Trigger class. --- .../edu/wpi/first/wpilibj2/command/button/Trigger.java | 6 +++--- .../wpi/first/wpilibj2/command/button/ButtonTest.java | 9 +++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/wpilibNewCommands/src/main/java/edu/wpi/first/wpilibj2/command/button/Trigger.java b/wpilibNewCommands/src/main/java/edu/wpi/first/wpilibj2/command/button/Trigger.java index f36aeb2fcd..d692f96f04 100644 --- a/wpilibNewCommands/src/main/java/edu/wpi/first/wpilibj2/command/button/Trigger.java +++ b/wpilibNewCommands/src/main/java/edu/wpi/first/wpilibj2/command/button/Trigger.java @@ -56,7 +56,7 @@ public class Trigger implements BooleanSupplier { * @return whether or not the trigger condition is active. */ public boolean get() { - return this.getAsBoolean(); + return m_isActive.getAsBoolean(); } /** @@ -69,8 +69,8 @@ public class Trigger implements BooleanSupplier { * @return whether or not the trigger condition is active. */ @Override - public boolean getAsBoolean() { - return m_isActive.getAsBoolean(); + public final boolean getAsBoolean() { + return this.get(); } /** diff --git a/wpilibNewCommands/src/test/java/edu/wpi/first/wpilibj2/command/button/ButtonTest.java b/wpilibNewCommands/src/test/java/edu/wpi/first/wpilibj2/command/button/ButtonTest.java index 1a4f05d450..81b12ef865 100644 --- a/wpilibNewCommands/src/test/java/edu/wpi/first/wpilibj2/command/button/ButtonTest.java +++ b/wpilibNewCommands/src/test/java/edu/wpi/first/wpilibj2/command/button/ButtonTest.java @@ -195,4 +195,13 @@ class ButtonTest extends CommandTestBase { scheduler.run(); verify(command).schedule(true); } + + @Test + void booleanSupplierTest() { + InternalButton button = new InternalButton(); + + assertFalse(button.getAsBoolean()); + button.setPressed(true); + assertTrue(button.getAsBoolean()); + } }