Browse Source

added new test case for prev() & changed prev() to work with regional and saved stations

feature-pr-saveStations
Jan Ortner 3 years ago
parent
commit
74fa5f4bb6
  1. 21
      src/main/java/device/radioPlayer/RadioPlayer.java
  2. 6
      src/test/java/device/radioPlayer/RadioPlayerTest.java

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

@ -127,12 +127,23 @@ public class RadioPlayer implements Device {
@Override @Override
public void prev() { public void prev() {
int currentIndex = savedPlaylist.indexOf(playedStation);
int nextIndex = savedPlaylist.size() - 1;
if (currentIndex != 0) {
nextIndex = (currentIndex - 1);
if (regionPlaylist.contains(playedStation)) {
int currentIndex = regionPlaylist.indexOf(playedStation);
int nextIndex = regionPlaylist.size() - 1;
if (currentIndex != 0) {
nextIndex = (currentIndex - 1);
}
playedStation = regionPlaylist.get(nextIndex);
} else {
{
int currentIndex = savedPlaylist.indexOf(playedStation);
int nextIndex = savedPlaylist.size() - 1;
if (currentIndex != 0) {
nextIndex = (currentIndex - 1);
}
playedStation = savedPlaylist.get(nextIndex);
}
} }
playedStation = savedPlaylist.get(nextIndex);
} }
@Override @Override

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

@ -76,17 +76,21 @@ class RadioPlayerTest {
RadioPlayer rp2 = new RadioPlayer(); RadioPlayer rp2 = new RadioPlayer();
RadioPlayer rp3 = new RadioPlayer(); RadioPlayer rp3 = new RadioPlayer();
RadioPlayer rp4 = new RadioPlayer(); RadioPlayer rp4 = new RadioPlayer();
RadioPlayer rp5 = new RadioPlayer();
rp1.next(); rp1.next();
rp2.next(); rp2.next();
rp2.prev(); rp2.prev();
rp3.prev(); rp3.prev();
rp4.changeRegion("BY"); rp4.changeRegion("BY");
rp4.next(); rp4.next();
rp5.changeRegion("BY");
rp5.prev();
return Stream.of( return Stream.of(
Arguments.of("Next Station Test for saved Stations", rp1, "Teddy"), Arguments.of("Next Station Test for saved Stations", rp1, "Teddy"),
Arguments.of("Prev Station Test for saved Stations", rp2, "YouFM"), Arguments.of("Prev Station Test for saved Stations", rp2, "YouFM"),
Arguments.of("Prev works on first Station for saved Stations", rp3, "MegaHits"), Arguments.of("Prev works on first Station for saved Stations", rp3, "MegaHits"),
Arguments.of("changed Region and going to next station", rp4, "Bayern 1")
Arguments.of("changed Region and going to next station", rp4, "Bayern 1"),
Arguments.of("changed Region and going to prev station", rp5, "Hit Radio N1")
); );
} }

Loading…
Cancel
Save