@ -9,9 +9,10 @@ import java.util.ArrayList;
import static org.assertj.core.api.Assertions.assertThat ;
class UsbPlayerTest {
UsbPlayer up = new UsbPlayer ( ) ;
/ / UsbPlayer up = new UsbPlayer ( ) ;
@ParameterizedTest
@MethodSource ( "PlayOptions" )
@ -21,21 +22,22 @@ class UsbPlayerTest {
}
static Stream < Arguments > PlayOptions ( ) {
UsbPlayer up1 = new UsbPlayer ( ) ;
UsbPlayer up8 = new UsbPlayer ( ) ;
USB_Stick USBDrive = new USB_Stick ( ) ;
UsbPlayer up1 = new UsbPlayer ( USBDrive ) ;
UsbPlayer up8 = new UsbPlayer ( USBDrive ) ;
up8 . setPlayTrack ( "" ) ;
UsbPlayer up2 = new UsbPlayer ( ) ;
UsbPlayer up2 = new UsbPlayer ( USBDrive ) ;
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 ( ) ;
UsbPlayer up3 = new UsbPlayer ( USBDrive ) ;
ArrayList < String > Pl = new ArrayList < String > ( ) ;
up3 . setPlaylist ( Pl ) ;
UsbPlayer up6 = new UsbPlayer ( ) ;
UsbPlayer up6 = new UsbPlayer ( USBDrive ) ;
up6 . setDefect ( true ) ;
UsbPlayer up7 = new UsbPlayer ( ) ;
UsbPlayer up7 = new UsbPlayer ( USBDrive ) ;
up7 . setConnected ( false ) ;
@ -57,14 +59,31 @@ class UsbPlayerTest {
}
static Stream < Arguments > louderOptions ( ) {
UsbPlayer up11 = new UsbPlayer ( ) ;
USB_Stick USBDrive = new USB_Stick ( ) ;
/ / first case
UsbPlayer up11 = new UsbPlayer ( USBDrive ) ;
up11 . louder ( ) ;
UsbPlayer up22 = new UsbPlayer ( ) ;
/ / second case
UsbPlayer up22 = new UsbPlayer ( USBDrive ) ;
up22 . setLautstaerke ( 100 ) ;
up22 . louder ( ) ;
/ / third case
UsbPlayer up3 = new UsbPlayer ( USBDrive ) ;
up3 . setLautstaerke ( 10 ) ;
up3 . mute ( ) ;
up3 . louder ( ) ;
/ / forth case
UsbPlayer up4 = new UsbPlayer ( USBDrive ) ;
up4 . setLautstaerke ( 10 ) ;
up4 . mute ( ) ;
up4 . unmute ( ) ;
up4 . louder ( ) ;
return Stream . of (
Arguments . of ( "Volume is : 1 " , up11 , 1 ) ,
Arguments . of ( "Volume is : 100 " , up22 , 100 )
Arguments . of ( "Volume is : 100 " , up22 , 100 ) ,
Arguments . of ( "Volume is muted,no change can be made " , up3 , 0 ) ,
Arguments . of ( "Volume is unmuted,a change has been made " , up4 , 11 )
) ;
}
@ -76,14 +95,33 @@ class UsbPlayerTest {
}
static Stream < Arguments > quieterOptions ( ) {
UsbPlayer up1 = new UsbPlayer ( ) ;
USB_Stick USBDrive = new USB_Stick ( ) ;
/ / first case
UsbPlayer up1 = new UsbPlayer ( USBDrive ) ;
up1 . quieter ( ) ;
UsbPlayer up2 = new UsbPlayer ( ) ;
/ / second case
UsbPlayer up2 = new UsbPlayer ( USBDrive ) ;
up2 . setLautstaerke ( 10 ) ;
up2 . quieter ( ) ;
/ / third case
UsbPlayer up3 = new UsbPlayer ( USBDrive ) ;
up3 . setLautstaerke ( 10 ) ;
up3 . mute ( ) ;
up3 . quieter ( ) ;
/ / forth case
UsbPlayer up4 = new UsbPlayer ( USBDrive ) ;
up4 . setLautstaerke ( 10 ) ;
up4 . mute ( ) ;
up4 . unmute ( ) ;
up4 . quieter ( ) ;
return Stream . of (
Arguments . of ( "Volume must stay 0 " , up1 , 0 ) ,
Arguments . of ( "Volume must be 9 " , up2 , 9 )
Arguments . of ( "Volume must be 9 " , up2 , 9 ) ,
Arguments . of ( "Volume is muted,no change can be made " , up3 , 0 ) ,
Arguments . of ( "Volume is unmuted,a change has been made " , up4 , 9 )
) ;
}
@ -96,13 +134,14 @@ class UsbPlayerTest {
}
static Stream < Arguments > NextOptions ( ) {
UsbPlayer up1 = new UsbPlayer ( ) ;
USB_Stick USBDrive = new USB_Stick ( ) ;
UsbPlayer up1 = new UsbPlayer ( USBDrive ) ;
up1 . next ( ) ;
UsbPlayer up2 = new UsbPlayer ( ) ;
UsbPlayer up2 = new UsbPlayer ( USBDrive ) ;
for ( int i = 1 ; i < up2 . getPlaylist ( ) . size ( ) ; i + + ) {
up2 . next ( ) ;
}
UsbPlayer up3 = new UsbPlayer ( ) ;
UsbPlayer up3 = new UsbPlayer ( USBDrive ) ;
for ( int i = 1 ; i < up3 . getPlaylist ( ) . size ( ) ; i + + ) {
up3 . next ( ) ;
}
@ -123,9 +162,10 @@ class UsbPlayerTest {
}
static Stream < Arguments > PrevOptions ( ) {
UsbPlayer up1 = new UsbPlayer ( ) ;
USB_Stick USBDrive = new USB_Stick ( ) ;
UsbPlayer up1 = new UsbPlayer ( USBDrive ) ;
up1 . prev ( ) ;
UsbPlayer up2 = new UsbPlayer ( ) ;
UsbPlayer up2 = new UsbPlayer ( USBDrive ) ;
for ( int i = 1 ; i < up2 . getPlaylist ( ) . size ( ) ; i + + ) { / / 3
up2 . prev ( ) ;
}
@ -145,22 +185,37 @@ class UsbPlayerTest {
}
static Stream < Arguments > louder_10_Options ( ) {
UsbPlayer up1 = new UsbPlayer ( ) ;
USB_Stick USBDrive = new USB_Stick ( ) ;
/ / first case
UsbPlayer up1 = new UsbPlayer ( USBDrive ) ;
up1 . Louder_10 ( ) ;
UsbPlayer up2 = new UsbPlayer ( ) ;
for ( int i = 0 ; i < = 3 ; i + + ) {
/ / Second case
UsbPlayer up2 = new UsbPlayer ( USBDrive ) ;
for ( int i = 0 ; i < 3 ; i + + ) {
up2 . Louder_10 ( ) ;
}
up2 . quieter_10 ( ) ;
UsbPlayer up3 = new UsbPlayer ( ) ;
/ / third case
UsbPlayer up3 = new UsbPlayer ( USBDrive ) ;
up3 . setLautstaerke ( 100 ) ;
up3 . Louder_10 ( ) ;
/ / forth case
UsbPlayer up4 = new UsbPlayer ( USBDrive ) ;
up4 . setLautstaerke ( 10 ) ;
up4 . mute ( ) ;
up4 . Louder_10 ( ) ;
/ / fifth case
UsbPlayer up5 = new UsbPlayer ( USBDrive ) ;
up5 . setLautstaerke ( 10 ) ;
up5 . mute ( ) ;
up5 . unmute ( ) ;
up5 . Louder_10 ( ) ;
return Stream . of (
Arguments . of ( "Volume was 0, should be 10 " , up1 , 10 ) ,
Arguments . of ( "Volume was 0, should be 30 " , up2 , 30 ) ,
Arguments . of ( "Volume was 100, should stay 100 " , up3 , 100 )
Arguments . of ( "Volume was 100, should stay 100 " , up3 , 100 ) ,
Arguments . of ( "Volume is muted,no change can be made " , up4 , 0 ) ,
Arguments . of ( "Volume is unmuted,a change has been made " , up5 , 20 )
) ;
}
@ -172,23 +227,38 @@ class UsbPlayerTest {
}
static Stream < Arguments > quieter_10_Options ( ) {
UsbPlayer up1 = new UsbPlayer ( ) ;
USB_Stick USBDrive = new USB_Stick ( ) ;
/ / first case
UsbPlayer up1 = new UsbPlayer ( USBDrive ) ;
up1 . setLautstaerke ( 10 ) ;
up1 . quieter_10 ( ) ;
UsbPlayer up2 = new UsbPlayer ( ) ;
/ / second case
UsbPlayer up2 = new UsbPlayer ( USBDrive ) ;
up2 . setLautstaerke ( 50 ) ;
for ( int i = 0 ; i < 3 ; i + + ) {
up2 . quieter_10 ( ) ;
}
UsbPlayer up3 = new UsbPlayer ( ) ;
/ / third case
UsbPlayer up3 = new UsbPlayer ( USBDrive ) ;
up3 . quieter_10 ( ) ;
/ / forth case
UsbPlayer up4 = new UsbPlayer ( USBDrive ) ;
up4 . setLautstaerke ( 11 ) ;
up4 . mute ( ) ;
up4 . quieter_10 ( ) ;
/ / fifth case
UsbPlayer up5 = new UsbPlayer ( USBDrive ) ;
up5 . setLautstaerke ( 11 ) ;
up5 . mute ( ) ;
up5 . unmute ( ) ;
up5 . quieter_10 ( ) ;
return Stream . of (
Arguments . of ( "Volume was 10, should be 0 " , up1 , 0 ) ,
Arguments . of ( "Volume was 50, should be 20 " , up2 , 20 ) ,
Arguments . of ( "Volume was 0, should stay 0 " , up3 , 0 )
Arguments . of ( "Volume was 0, should stay 0 " , up3 , 0 ) ,
Arguments . of ( "Volume is muted,no change can be made " , up4 , 0 ) ,
Arguments . of ( "Volume is unmuted,a change has been made " , up5 , 1 )
) ;
}
@ -205,7 +275,8 @@ class UsbPlayerTest {
}
static Stream < Arguments > FindSongOptions ( ) {
UsbPlayer up1 = new UsbPlayer ( ) ;
USB_Stick USBDrive = new USB_Stick ( ) ;
UsbPlayer up1 = new UsbPlayer ( USBDrive ) ;
return Stream . of (
Arguments . of ( "The song is not in the Album" , up1 . findSong ( "song 4" ) , - 1 ) ,
Arguments . of ( "The song is in the Album" , up1 . findSong ( "Musik 02" ) , 1 ) ,
@ -222,16 +293,17 @@ class UsbPlayerTest {
}
static Stream < Arguments > GoToOptions ( ) {
UsbPlayer up1 = new UsbPlayer ( ) ;
USB_Stick USBDrive = new USB_Stick ( ) ;
UsbPlayer up1 = new UsbPlayer ( USBDrive ) ;
up1 . GoTo ( "Musik 03.mp3" ) ;
UsbPlayer up2 = new UsbPlayer ( ) ;
UsbPlayer up2 = new UsbPlayer ( USBDrive ) ;
up2 . GoTo ( "Musik 04.mp3" ) ;
UsbPlayer up3 = new UsbPlayer ( ) ;
UsbPlayer up3 = new UsbPlayer ( USBDrive ) ;
up3 . GoTo ( "Musik 02" ) ;
UsbPlayer up4 = new UsbPlayer ( ) ;
UsbPlayer up4 = new UsbPlayer ( USBDrive ) ;
up4 . next ( ) ;
up4 . GoTo ( "Musik" ) ;
@ -252,45 +324,46 @@ class UsbPlayerTest {
}
static Stream < Arguments > isAllAudioOptions ( ) {
USB_Stick USBDrive = new USB_Stick ( ) ;
/ / mp3
UsbPlayer up1 = new UsbPlayer ( ) ;
UsbPlayer up1 = new UsbPlayer ( USBDrive ) ;
/ / mp4
UsbPlayer up2 = new UsbPlayer ( ) ;
UsbPlayer up2 = new UsbPlayer ( USBDrive ) ;
ArrayList < String > Pl = new ArrayList < String > ( ) ;
Pl . add ( "Musik 01.mp4" ) ;
Pl . add ( "Musik 02.mp4" ) ;
Pl . add ( "Musik 03.mp4" ) ;
up2 . setPlaylist ( Pl ) ;
/ / m4a
UsbPlayer up3 = new UsbPlayer ( ) ;
UsbPlayer up3 = new UsbPlayer ( USBDrive ) ;
ArrayList < String > Pl1 = new ArrayList < String > ( ) ;
Pl1 . add ( "Musik 01.m4a" ) ;
Pl1 . add ( "Musik 02.m4a" ) ;
Pl1 . add ( "Musik 03.m4a" ) ;
up3 . setPlaylist ( Pl1 ) ;
/ / wav
UsbPlayer up4 = new UsbPlayer ( ) ;
UsbPlayer up4 = new UsbPlayer ( USBDrive ) ;
ArrayList < String > Pl2 = new ArrayList < String > ( ) ;
Pl2 . add ( "Musik 01.wav" ) ;
Pl2 . add ( "Musik 02.wav" ) ;
Pl2 . add ( "Musik 03.wav" ) ;
up4 . setPlaylist ( Pl2 ) ;
/ / wma
UsbPlayer up5 = new UsbPlayer ( ) ;
UsbPlayer up5 = new UsbPlayer ( USBDrive ) ;
ArrayList < String > Pl3 = new ArrayList < String > ( ) ;
Pl3 . add ( "Musik 01.wma" ) ;
Pl3 . add ( "Musik 02.wma" ) ;
Pl3 . add ( "Musik 03.wma" ) ;
up5 . setPlaylist ( Pl3 ) ;
/ / aac
UsbPlayer up6 = new UsbPlayer ( ) ;
UsbPlayer up6 = new UsbPlayer ( USBDrive ) ;
ArrayList < String > Pl4 = new ArrayList < String > ( ) ;
Pl4 . add ( "Musik 01.aac" ) ;
Pl4 . add ( "Musik 02.aac" ) ;
Pl4 . add ( "Musik 03.aac" ) ;
up6 . setPlaylist ( Pl4 ) ;
/ / mixed Audio and text Files in the Album
UsbPlayer up7 = new UsbPlayer ( ) ;
UsbPlayer up7 = new UsbPlayer ( USBDrive ) ;
ArrayList < String > Pl5 = new ArrayList < String > ( ) ;
Pl5 . add ( "Musik 01.aac" ) ;
Pl5 . add ( "Musik 02.txt" ) ;
@ -314,25 +387,26 @@ class UsbPlayerTest {
@MethodSource ( "GoToFirstOptions" )
void GoToFirstTest ( String testName , UsbPlayer inputUSB , String expectedResult ) {
String firstSong = inputUSB . getPlayTrack ( ) ;
assertThat ( firstSong ) . describedAs ( testName ) . isEqualTo ( expectedResult ) ;
assertThat ( firstSong ) . describedAs ( testName ) . isEqualTo ( expectedResult ) ;
}
static Stream < Arguments > GoToFirstOptions ( ) {
UsbPlayer up1 = new UsbPlayer ( ) ;
USB_Stick USBDrive = new USB_Stick ( ) ;
UsbPlayer up1 = new UsbPlayer ( USBDrive ) ;
up1 . GoToFirst ( ) ;
UsbPlayer up2 = new UsbPlayer ( ) ;
UsbPlayer up2 = new UsbPlayer ( USBDrive ) ;
up2 . GoToFirst ( ) ;
up2 . GoToFirst ( ) ;
UsbPlayer up3 = new UsbPlayer ( ) ;
UsbPlayer up3 = new UsbPlayer ( USBDrive ) ;
up3 . next ( ) ;
up3 . GoToFirst ( ) ;
return Stream . of (
Arguments . of ( "It should go to the first Song " , up1 , up1 . getPlaylist ( ) . get ( 0 ) ) ,
Arguments . of ( "Call the function twice and it stills go to the first Song " , up2 , up2 . getPlaylist ( ) . get ( 0 ) ) ,
Arguments . of ( "go to the next Song then back to first Song " , up3 , up3 . getPlaylist ( ) . get ( 0 ) )
Arguments . of ( "It should go to the first Song " , up1 , up1 . getPlaylist ( ) . get ( 0 ) ) ,
Arguments . of ( "Call the function twice and it stills go to the first Song " , up2 , up2 . getPlaylist ( ) . get ( 0 ) ) ,
Arguments . of ( "go to the next Song then back to first Song " , up3 , up3 . getPlaylist ( ) . get ( 0 ) )
) ;
}
@ -340,27 +414,28 @@ class UsbPlayerTest {
@MethodSource ( "GoToLastOptions" )
void GoToLastTest ( String testName , UsbPlayer inputUSB , String expectedResult ) {
String firstSong = inputUSB . getPlayTrack ( ) ;
assertThat ( firstSong ) . describedAs ( testName ) . isEqualTo ( expectedResult ) ;
assertThat ( firstSong ) . describedAs ( testName ) . isEqualTo ( expectedResult ) ;
}
static Stream < Arguments > GoToLastOptions ( ) {
USB_Stick USBDrive = new USB_Stick ( ) ;
/ / first case
UsbPlayer up1 = new UsbPlayer ( ) ;
UsbPlayer up1 = new UsbPlayer ( USBDrive ) ;
up1 . GoToLast ( ) ;
UsbPlayer up2 = new UsbPlayer ( ) ;
UsbPlayer up2 = new UsbPlayer ( USBDrive ) ;
up2 . GoToLast ( ) ;
up2 . GoToLast ( ) ;
UsbPlayer up3 = new UsbPlayer ( ) ;
UsbPlayer up3 = new UsbPlayer ( USBDrive ) ;
up3 . next ( ) ;
up3 . GoToLast ( ) ;
return Stream . of (
Arguments . of ( "It should go to the Last Song " , up1 , up1 . getPlaylist ( ) . get ( up1 . getPlaylist ( ) . size ( ) - 1 ) ) ,
Arguments . of ( "It should go to the Last Song even after calling the function twice " , up2 , up2 . getPlaylist ( ) . get ( up2 . getPlaylist ( ) . size ( ) - 1 ) ) ,
Arguments . of ( "It should go to the Last Song even changing the current song " , up3 , up3 . getPlaylist ( ) . get ( up3 . getPlaylist ( ) . size ( ) - 1 ) )
Arguments . of ( "It should go to the Last Song " , up1 , up1 . getPlaylist ( ) . get ( up1 . getPlaylist ( ) . size ( ) - 1 ) ) ,
Arguments . of ( "It should go to the Last Song even after calling the function twice " , up2 , up2 . getPlaylist ( ) . get ( up2 . getPlaylist ( ) . size ( ) - 1 ) ) ,
Arguments . of ( "It should go to the Last Song even changing the current song " , up3 , up3 . getPlaylist ( ) . get ( up3 . getPlaylist ( ) . size ( ) - 1 ) )
) ;
}
@ -368,26 +443,148 @@ class UsbPlayerTest {
@MethodSource ( "setPlayTrackOptions" )
void setPlayTrackTest ( String testName , UsbPlayer inputUSB , String expectedResult ) {
String firstSong = inputUSB . getPlayTrack ( ) ;
assertThat ( firstSong ) . describedAs ( testName ) . isEqualTo ( expectedResult ) ;
assertThat ( firstSong ) . describedAs ( testName ) . isEqualTo ( expectedResult ) ;
}
static Stream < Arguments > setPlayTrackOptions ( ) {
USB_Stick USBDrive = new USB_Stick ( ) ;
/ / first case
UsbPlayer up1 = new UsbPlayer ( ) ;
UsbPlayer up1 = new UsbPlayer ( USBDrive ) ;
up1 . setPlayTrack ( "Musik 02.mp3" ) ;
/ / Second Case
UsbPlayer up2 = new UsbPlayer ( ) ;
UsbPlayer up2 = new UsbPlayer ( USBDrive ) ;
up2 . setPlayTrack ( "Musik 02.mp3" ) ;
/ / Third Case
UsbPlayer up3 = new UsbPlayer ( ) ;
UsbPlayer up3 = new UsbPlayer ( USBDrive ) ;
up3 . setPlayTrack ( "Musik 04.mp3" ) ;
return Stream . of (
Arguments . of ( "It should change the current Song " , up1 , "Musik 02.mp3" ) ,
Arguments . of ( "It should change the current Song if it is in the Albume" , up2 , "Musik 02.mp3" ) ,
Arguments . of ( "Tried to change the Song,but the Song name does not exist in the Album(No change)" , up3 , "Musik 01.mp3" )
Arguments . of ( "It should change the current Song " , up1 , "Musik 02.mp3" ) ,
Arguments . of ( "It should change the current Song if it is in the Albume" , up2 , "Musik 02.mp3" ) ,
Arguments . of ( "Tried to change the Song,but the Song name does not exist in the Album(No change)" , up3 , "Musik 01.mp3" )
) ;
} / / / /
@ParameterizedTest
@MethodSource ( "getInfoTextOptions" )
void getInfoTextTest ( String testName , UsbPlayer inputUSB , String expectedResult ) {
String infotxt = inputUSB . getInfoText ( ) ;
assertThat ( infotxt ) . describedAs ( testName ) . isEqualTo ( expectedResult ) ;
}
static Stream < Arguments > getInfoTextOptions ( ) {
USB_Stick USBDrive = new USB_Stick ( ) ;
ArrayList < String > Fileslist = new ArrayList < String > ( ) ;
Fileslist . add ( "file 01.txt" ) ;
Fileslist . add ( "file 02.txt" ) ;
Fileslist . add ( "file 03.txt" ) ;
USB_Stick USBwithTXT = new USB_Stick ( Fileslist ) ;
/ / USB_Stick emptyUSB = new USB_Stick ( "" ) ;
/ / first case
UsbPlayer up1 = new UsbPlayer ( USBDrive ) ;
/ / Second case
UsbPlayer up2 = new UsbPlayer ( USBwithTXT ) ;
return Stream . of (
Arguments . of ( "USB Player with Albums " , up1 , "USB Player is on : " + up1 . getPlayTrack ( ) ) ,
Arguments . of ( "USB Player with no Albums " , up2 , "USB Player with no Albums" )
) ;
} / / "muted"
@ParameterizedTest
@MethodSource ( "muteOptions" )
void muteTest ( String testName , UsbPlayer inputUSB , String expectedResult , String testName2 , String testName3 ) {
int prevSound = inputUSB . getLautstaerke ( ) ;
String isMuted = inputUSB . mute ( ) ;
assertThat ( isMuted ) . describedAs ( testName ) . isEqualTo ( expectedResult ) ;
/ / Second case
assertThat ( inputUSB . getLautstaerke ( ) ) . describedAs ( testName2 ) . isEqualTo ( 0 ) ;
/ / third case
assertThat ( inputUSB . soundWas ) . describedAs ( testName3 ) . isEqualTo ( prevSound ) ;
}
static Stream < Arguments > muteOptions ( ) {
USB_Stick USBDrive = new USB_Stick ( ) ;
UsbPlayer up1 = new UsbPlayer ( USBDrive ) ;
up1 . mute ( ) ;
return Stream . of (
Arguments . of ( "The Sound is muted " , up1 , "muted" , "Sound level is 0" , "previous sound level is saved " )
) ;
}
@ParameterizedTest
@MethodSource ( "unmuteOptions" )
void unmuteTest ( String testName , UsbPlayer inputUSB , String expectedResult , String testName2 , String testName3 ) {
int prevSound = inputUSB . getLautstaerke ( ) ;
String unMuted = inputUSB . unmute ( ) ;
int currentStatusofSoundWas = inputUSB . soundWas ;
/ / first case
assertThat ( unMuted ) . describedAs ( testName ) . isEqualTo ( expectedResult ) ;
/ / Second case
assertThat ( inputUSB . getLautstaerke ( ) ) . describedAs ( testName2 ) . isEqualTo ( prevSound ) ;
/ / third case
assertThat ( inputUSB . soundWas ) . describedAs ( testName3 ) . isEqualTo ( currentStatusofSoundWas ) ;
}
static Stream < Arguments > unmuteOptions ( ) {
USB_Stick USBDrive = new USB_Stick ( ) ;
UsbPlayer up1 = new UsbPlayer ( USBDrive ) ;
up1 . unmute ( ) ;
return Stream . of (
Arguments . of ( "The Sound is unmuted " , up1 , "unmuted" , "Sound level has changed" , "previous sound level is 0" )
) ;
}
@ParameterizedTest
@MethodSource ( "chooseItem" )
void chooseItemTest ( String testName , String inputSong , String expectedResult ) {
assertThat ( inputSong ) . describedAs ( testName ) . isEqualTo ( expectedResult ) ;
}
static Stream < Arguments > chooseItem ( ) {
USB_Stick USBDrive = new USB_Stick ( ) ;
UsbPlayer up1 = new UsbPlayer ( USBDrive ) ;
return Stream . of (
Arguments . of ( "An Item from the Album was chosen " , up1 . chooseItem ( 0 ) , "Musik 01.mp3" ) ,
Arguments . of ( "Incorrect Nr of Item was given < 0" , up1 . chooseItem ( - 1 ) , "The Nr is smaller than 0" ) ,
Arguments . of ( "Incorrect Nr of Item was given > 0" , up1 . chooseItem ( 5 ) , "The Nr is bigger than 0" )
) ;
} / / getItemList
@ParameterizedTest
@MethodSource ( "getItemList" )
void getItemListTest ( String testName , UsbPlayer inputPlayer , String [ ] expectedResult ) {
String [ ] Pl = inputPlayer . getItemList ( ) ;
if ( Pl . length > 0 )
assertThat ( Pl ) . contains ( "Musik 01.mp3" , "Musik 02.mp3" , "Musik 03.mp3" ) . describedAs ( testName ) ;
else assertThat ( Pl ) . describedAs ( "No Album" ) . isEmpty ( ) ;
}
static Stream < Arguments > getItemList ( ) {
USB_Stick USBDrive = new USB_Stick ( ) ;
UsbPlayer up1 = new UsbPlayer ( USBDrive ) ;
String [ ] Pl = { "Musik 01.mp3" , "Musik 02.mp3" , "Musik 03.mp3" } ;
UsbPlayer up2 = new UsbPlayer ( USBDrive ) ;
ArrayList < String > Pl1 = new ArrayList < String > ( ) ;
up2 . setPlaylist ( Pl1 ) ;
String [ ] l = new String [ 3 ] ;
return Stream . of (
Arguments . of ( "An Album was returned " , up1 , Pl , 1 ) ,
Arguments . of ( "There is no Album to be returned " , up2 , l , 2 )
) ;
}