Browse Source

Merge commit 'd6dbffa4855f3d4ba2e98c5523719806b312c8c3' into HEAD

feature-pr-RadioPlayer-getItemList
Jenkins 3 years ago
parent
commit
2ad8951143
  1. 41
      src/main/java/device/radioPlayer/RadioPlayer.java
  2. 39
      src/test/java/device/radioPlayer/RadioPlayerTest.java

41
src/main/java/device/radioPlayer/RadioPlayer.java

@ -158,7 +158,29 @@ public class RadioPlayer implements Device {
@Override @Override
public String chooseItem(int itemNr) { public String chooseItem(int itemNr) {
return null;
if (regionPlaylist.contains(playedStation)) {
if (itemNr > regionPlaylist.size()) {
playedStation = regionPlaylist.get(regionPlaylist.size() - 1);
return ("Radio is playing station: 0" + regionPlaylist.size() + " " + this.playedStation + " from regional playlist");
} else if (itemNr < 1) {
playedStation = regionPlaylist.get(0);
return ("Radio is playing station: 01 " + this.playedStation + " from regional playlist");
} else {
playedStation = regionPlaylist.get(itemNr - 1);
return ("Radio is playing station: 0" + (regionPlaylist.indexOf(playedStation) + 1) + " " + this.playedStation + " from regional playlist");
}
} else {
if (itemNr > savedPlaylist.size()) {
playedStation = savedPlaylist.get(savedPlaylist.size() - 1);
return ("Radio is playing station: 0" + savedPlaylist.size() + " " + this.playedStation + " from saved playlist");
} else if (itemNr < 1) {
playedStation = savedPlaylist.get(0);
return ("Radio is playing station: 01 " + this.playedStation + " from saved playlist");
} else {
playedStation = savedPlaylist.get(itemNr - 1);
return ("Radio is playing station: 0" + (savedPlaylist.indexOf(playedStation) + 1) + " " + this.playedStation + " from saved playlist");
}
}
} }
@Override @Override
@ -218,7 +240,7 @@ public class RadioPlayer implements Device {
} }
public String changeToSavedPlaylist() { public String changeToSavedPlaylist() {
if(regionPlaylist.contains(playedStation)) {
if (regionPlaylist.contains(playedStation)) {
playedStation = savedPlaylist.get(0); playedStation = savedPlaylist.get(0);
regionPlaylist.clear(); regionPlaylist.clear();
return "Playlist switched now playing station: 0" + (savedPlaylist.indexOf(playedStation) + 1) + " " + this.playedStation + " from saved playlist"; return "Playlist switched now playing station: 0" + (savedPlaylist.indexOf(playedStation) + 1) + " " + this.playedStation + " from saved playlist";
@ -228,16 +250,15 @@ public class RadioPlayer implements Device {
public String changeOrderInSavedPlaylist(int nr) { public String changeOrderInSavedPlaylist(int nr) {
String station = playedStation; String station = playedStation;
if((nr-1) > savedPlaylist.size()) {
if ((nr - 1) > savedPlaylist.size()) {
savedPlaylist.remove(playedStation); savedPlaylist.remove(playedStation);
savedPlaylist.add(savedPlaylist.size(),station);
return"Station " + playedStation + " is now on place 0" + (savedPlaylist.size()+1) + "in saved playlist";
}else if(nr < 0) {
savedPlaylist.add(savedPlaylist.size(), station);
return "Station " + playedStation + " is now on place 0" + (savedPlaylist.size() + 1) + "in saved playlist";
} else if (nr < 0) {
savedPlaylist.remove(playedStation); savedPlaylist.remove(playedStation);
savedPlaylist.add(0,station);
return"Station " + playedStation + " is now on place 01 in saved playlist";
}
else {
savedPlaylist.add(0, station);
return "Station " + playedStation + " is now on place 01 in saved playlist";
} else {
savedPlaylist.remove(playedStation); savedPlaylist.remove(playedStation);
savedPlaylist.add(nr - 1, station); savedPlaylist.add(nr - 1, station);
return "Station " + playedStation + " is now on place 0" + nr + "in saved playlist"; return "Station " + playedStation + " is now on place 0" + nr + "in saved playlist";

39
src/test/java/device/radioPlayer/RadioPlayerTest.java

@ -171,11 +171,42 @@ class RadioPlayerTest {
@Test @Test
void getOptions() { void getOptions() {
} }
@Test
void chooseOption() {
}
*/ */
@ParameterizedTest
@MethodSource("chooseItemOptions")
void testChooseItem(String testName, RadioPlayer testRp, String expectedResult) {
String playedStation = testRp.playedStation;
assertThat(playedStation).describedAs(testName).isEqualTo(expectedResult);
}
static Stream<Arguments> chooseItemOptions() {
RadioPlayer rp = new RadioPlayer();
rp.chooseItem(2);
RadioPlayer rp1 = new RadioPlayer();
rp1.chooseItem(5);
RadioPlayer rp2 = new RadioPlayer();
rp2.chooseItem(-1);
RadioPlayer rp3 = new RadioPlayer();
rp3.changeRegion("BY");
rp3.chooseItem(2);
RadioPlayer rp4 = new RadioPlayer();
rp4.changeRegion("BY");
rp4.chooseItem(5);
RadioPlayer rp5 = new RadioPlayer();
rp5.changeRegion("BY");
rp5.chooseItem(-2);
return Stream.of(
Arguments.of("Test select station in saved playlist to play with nr isn`t bigger than playlist size", rp, "Teddy"),
Arguments.of("Test select station in saved playlist to play with nr is bigger than playlist size. Last station in playlist gets played", rp1, "MegaHits"),
Arguments.of("Test select station in saved playlist to play with nr is lower than 0. First station in playlist gets played", rp2, "YouFM"),
Arguments.of("Test select station in regional playlist to play with nr isn`t bigger than playlist size", rp3, "Bayern 1"),
Arguments.of("Test select station in regional playlist to play with nr is bigger than playlist size. Last station in playlist gets played", rp4, "Hit Radio N1"),
Arguments.of("Test select station in regional playlist to play with nr is lower than 0. Last station in playlist gets played", rp5, "Antenne Bayern")
);
}
@ParameterizedTest @ParameterizedTest
@MethodSource("testPlayOptions") @MethodSource("testPlayOptions")
void testPlay(String testName, RadioPlayer testRp, String expectedResult) { void testPlay(String testName, RadioPlayer testRp, String expectedResult) {

Loading…
Cancel
Save