From e9e92ae5ac27ca4e68b979e5df21c7fc057f0846 Mon Sep 17 00:00:00 2001 From: DINES-04 Date: Tue, 22 Apr 2025 09:18:59 +0530 Subject: [PATCH] Add unit tests for ActiveBuzzerHelper --- .../outputdevices/ActiveBuzzerHelper.java | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 pi4micronaut-utils/src/test/java/com/opensourcewithslu/outputdevices/ActiveBuzzerHelper.java diff --git a/pi4micronaut-utils/src/test/java/com/opensourcewithslu/outputdevices/ActiveBuzzerHelper.java b/pi4micronaut-utils/src/test/java/com/opensourcewithslu/outputdevices/ActiveBuzzerHelper.java new file mode 100644 index 00000000..c2e5938d --- /dev/null +++ b/pi4micronaut-utils/src/test/java/com/opensourcewithslu/outputdevices/ActiveBuzzerHelper.java @@ -0,0 +1,58 @@ +package com.opensourcewithslu.outputdevices; +import com.pi4j.io.pwm.Pwm; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import java.util.concurrent.TimeUnit; +import static org.mockito.Mockito.*; + +class ActiveBuzzerHelperTest { + private Pwm mockPwm; + private ActiveBuzzerHelper buzzerHelper; + + @BeforeEach + void setUp() { + mockPwm = Mockito.mock(Pwm.class); + buzzerHelper = new ActiveBuzzerHelper(mockPwm); + } + + @Test + void testActiveBuzzerOn() { + buzzerHelper.activeBuzzerOn(); + + verify(mockPwm).on(); + verify(mockPwm).dutyCycle(50); + verify(mockPwm).frequency(1000); + } + + @Test + void testActiveBuzzerOff() { + buzzerHelper.activeBuzzerOff(); + + verify(mockPwm).off(); + } + + @Test + void testBeep() throws InterruptedException { + buzzerHelper.beep(); + + verify(mockPwm, atLeastOnce()).on(); + verify(mockPwm, atLeastOnce()).off(); + } + + @Test + void testIntermittentTone() throws InterruptedException { + buzzerHelper.intermittentTone(); + + verify(mockPwm, atLeastOnce()).on(); + verify(mockPwm, atLeastOnce()).off(); + } + + @Test + void testMorseCodeTone() throws InterruptedException { + buzzerHelper.morseCodeTone(); + + verify(mockPwm, atLeastOnce()).on(); + verify(mockPwm, atLeastOnce()).off(); + } +}