package device.radioPlayer; import device.radioPlayer.RadioPlayer; import device.usbPlayer.UsbPlayer; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; import java.util.stream.Stream; import static org.assertj.core.api.Assertions.assertThat; class RadioPlayerTest { RadioPlayer rp = new RadioPlayer(); @ParameterizedTest @MethodSource("quieterLouderOptions") void quieterLouderTest(String testName, RadioPlayer testRp, int expectedResult) { int volume = testRp.getLautstaerke(); assertThat(volume).describedAs(testName).isEqualTo(expectedResult); } static Stream quieterLouderOptions() { RadioPlayer rp1 = new RadioPlayer(); rp1.setLautstaerke(0); rp1.louder(); return Stream.of( Arguments.of("Test for one louder", rp1, 1) ); } /* @Test void louder() { rp.setLautstaerke(0); rp.louder(); assertThat(rp.getLautstaerke()).isEqualTo(1); } @Test void louderMax() { rp.setLautstaerke(100); rp.louder(); assertThat(rp.getLautstaerke()).isEqualTo(100); } @Test void quieter() { rp.setLautstaerke(1); rp.quieter(); assertThat(rp.getLautstaerke()).isEqualTo(0); } @Test void quieterMax() { rp.setLautstaerke(0); rp.quieter(); assertThat(rp.getLautstaerke()).isEqualTo(0); } Jenkins config test @Test void getVolume() { } */ @ParameterizedTest @MethodSource("prevNextOptions") void prevNextTest(String testName, RadioPlayer testRp, String expectedResult) { String station = testRp.playTrack; assertThat(station).describedAs(testName).isEqualTo(expectedResult); } static Stream prevNextOptions() { RadioPlayer rp1 = new RadioPlayer(); RadioPlayer rp2 = new RadioPlayer(); RadioPlayer rp3 = new RadioPlayer(); rp1.next(); rp2.next(); rp2.prev(); rp3.prev(); return Stream.of( Arguments.of("Next Station Test", rp1, "Radio Teddy"), Arguments.of("Prev Station Test", rp2, "Radio YouFM"), Arguments.of("Prev works on first Station ", rp3, "Radio MegaHits") ); } /* @Test void getInfoText() { } @Test void getOptions() { } @Test void chooseOption() { } @Test void play() { } */ }