diff --git a/src/main/java/device/radioPlayer/RadioPlayer.java b/src/main/java/device/radioPlayer/RadioPlayer.java index b68c0c8..4d26867 100644 --- a/src/main/java/device/radioPlayer/RadioPlayer.java +++ b/src/main/java/device/radioPlayer/RadioPlayer.java @@ -213,8 +213,14 @@ public class RadioPlayer implements Device { public String changeOrderInSavedPlaylist(int nr) { String station = playedStation; - savedPlaylist.remove(playedStation); - savedPlaylist.add(nr-1,station); - return"Station " + playedStation + " is now on place 0" + nr + "in saved playlist"; + if((nr-1) > savedPlaylist.size()) { + savedPlaylist.remove(playedStation); + savedPlaylist.add(savedPlaylist.size(),station); + return"Station " + playedStation + " is now on place 0" + nr + "in saved playlist"; + } else { + savedPlaylist.remove(playedStation); + savedPlaylist.add(nr - 1, station); + return "Station " + playedStation + " is now on place 0" + (savedPlaylist.size()+1) + "in saved playlist"; + } } } diff --git a/src/test/java/device/radioPlayer/RadioPlayerTest.java b/src/test/java/device/radioPlayer/RadioPlayerTest.java index 782dfbd..db0ec4b 100644 --- a/src/test/java/device/radioPlayer/RadioPlayerTest.java +++ b/src/test/java/device/radioPlayer/RadioPlayerTest.java @@ -277,9 +277,12 @@ class RadioPlayerTest { RadioPlayer rp = new RadioPlayer(); rp.next(); rp.changeOrderInSavedPlaylist(1); + RadioPlayer rp1 = new RadioPlayer(); + rp1.changeOrderInSavedPlaylist(5); return Stream.of( - Arguments.of("Test for change order in saved playlist with nr isn`t than playlist size", rp, 0, "Teddy") + Arguments.of("Test for change order in saved playlist with nr isn`t bigger than playlist size", rp, 0, "Teddy"), + Arguments.of("Test for change order in saved playlist with nr is than bigger playlist size but at the end of playlist", rp1, 2, "YouFM") ); } } \ No newline at end of file