diff --git a/src/main/java/device/radioPlayer/RadioPlayer.java b/src/main/java/device/radioPlayer/RadioPlayer.java index 12e4148..075cd4a 100644 --- a/src/main/java/device/radioPlayer/RadioPlayer.java +++ b/src/main/java/device/radioPlayer/RadioPlayer.java @@ -202,4 +202,12 @@ public class RadioPlayer implements Device { } else return " Last Station: 01 " + station + " canĀ“t by deleted"; } + public String changeToSavedPlaylist() { + if(regionPlaylist.contains(playedStation)) { + playedStation = savedPlaylist.get(0); + regionPlaylist.clear(); + return "Playlist switched now playing station: 0" + (savedPlaylist.indexOf(playedStation) + 1) + " " + this.playedStation + " from saved playlist"; + } + return "You are already in saved Playlist!"; + } } diff --git a/src/test/java/device/radioPlayer/RadioPlayerTest.java b/src/test/java/device/radioPlayer/RadioPlayerTest.java index c272ddb..a92b654 100644 --- a/src/test/java/device/radioPlayer/RadioPlayerTest.java +++ b/src/test/java/device/radioPlayer/RadioPlayerTest.java @@ -244,4 +244,25 @@ class RadioPlayerTest { Arguments.of("Test for not delete station in saved playlist if this is the last station", rp1, "noDelete", true) ); } + + @ParameterizedTest + @MethodSource("changeToSavedPlaylistOptions") + void testChangeToSavedPlaylist(String testName, RadioPlayer testRp, String expectedResult) { + String savedStation = testRp.playedStation; + assertThat(savedStation).describedAs(testName).isEqualTo(expectedResult); + } + + static Stream changeToSavedPlaylistOptions() { + RadioPlayer rp = new RadioPlayer(); + rp.changeToSavedPlaylist(); + RadioPlayer rp1 = new RadioPlayer(); + rp1.changeRegion("BY"); + rp1.changeToSavedPlaylist(); + + return Stream.of( + Arguments.of("Test for change to saved playlist when you already in saved playlist", rp, "YouFM"), + Arguments.of("Test for change to saved playlist when in regional playlist", rp1, "YouFM") + + ); + } } \ No newline at end of file