Project for Continous Integration
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
3.1 KiB

package device.usbPlayer;
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 java.util.ArrayList;
import static org.assertj.core.api.Assertions.assertThat;
class UsbPlayerTest {
UsbPlayer up = new UsbPlayer();
@ParameterizedTest
@MethodSource("PlayOptions")
void playTest(String testName, UsbPlayer inputPlay, String expectedResult) {
String playState = inputPlay.play();
assertThat(playState).describedAs(testName).isEqualTo(expectedResult);
}
static Stream<Arguments> PlayOptions() {
UsbPlayer up1 = new UsbPlayer();
UsbPlayer up8 = new UsbPlayer();
up8.setPlayTrack("");
UsbPlayer up2 = new UsbPlayer();
ArrayList<String> l = new ArrayList<String>();
l.add("a.mp3");
l.add("b.mp3");
l.add("c.gif");
up2.setPlaylist(l);
UsbPlayer up3 = new UsbPlayer();
ArrayList<String> Pl = new ArrayList<String>();
up3.setPlaylist(Pl);
UsbPlayer up6 = new UsbPlayer();
up6.setDefect(true);
UsbPlayer up7 = new UsbPlayer();
up7.setConnected(false);
return Stream.of(
Arguments.of("All right : ", up1, "USB : connected,working,have a list,Audio,point to a track."),
Arguments.of("No first Track : ", up8, "USB : connected,working,have a list,Audio,doesn't point to a track."),
Arguments.of("No Audio Files : ", up2, "USB : connected,working,have a list,not Audio."),
Arguments.of("No list of tracks : ", up3, "USB : connected,working,have no list."),
Arguments.of("connected , not working : ", up6, "USB : connected,not working."),
Arguments.of("not connected : ", up7, "not connected."));
}
@ParameterizedTest
@MethodSource("louderOptions")
void louderTest(String testName, UsbPlayer inputPlay, int expectedResult) {
int volumeNum = inputPlay.getLautstaerke();
assertThat(volumeNum).describedAs(testName).isEqualTo(expectedResult);
}
static Stream<Arguments> louderOptions() {
UsbPlayer up11 = new UsbPlayer();
up11.louder();
UsbPlayer up22 = new UsbPlayer();
up22.setLautstaerke(100);
up22.louder();
return Stream.of(
Arguments.of("Volume is : 1 ", up11, 1),
Arguments.of("Volume is : 100 ", up22, 100)
);
}
@ParameterizedTest
@MethodSource("quieterOptions")
void quieterTest(String testName, UsbPlayer inputPlay, int expectedResult) {
int volumeNum = inputPlay.getLautstaerke();
assertThat(volumeNum).describedAs(testName).isEqualTo(expectedResult);
}
static Stream<Arguments> quieterOptions() {
UsbPlayer up1 = new UsbPlayer();
up1.quieter();
UsbPlayer up2 = new UsbPlayer();
up2.setLautstaerke(10);
up2.quieter();
return Stream.of(
Arguments.of("Volume must stay 0 ", up1, 0),
Arguments.of("Volume must be 9 ", up2, 9)
);
}
}