From 63db5393e8846bedaf0c237f6ffa6cf4043444a8 Mon Sep 17 00:00:00 2001 From: JPANZO Date: Tue, 15 Feb 2022 22:51:15 +0100 Subject: [PATCH 01/19] getOptions from CDPlayer tested on ArrayContainsInterfaceMethods. --- .../java/device/cdPlayer/CDPlayerTest.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/test/java/device/cdPlayer/CDPlayerTest.java b/src/test/java/device/cdPlayer/CDPlayerTest.java index dd985ed..56646dc 100644 --- a/src/test/java/device/cdPlayer/CDPlayerTest.java +++ b/src/test/java/device/cdPlayer/CDPlayerTest.java @@ -1,5 +1,6 @@ package device.cdPlayer; +import device.Device; import device.cdPlayer.exceptions.*; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; @@ -7,6 +8,10 @@ import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; import org.mockito.junit.jupiter.MockitoExtension; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import java.util.stream.Stream; import static org.assertj.core.api.Assertions.assertThat; @@ -231,19 +236,30 @@ class CDPlayerTest { @ParameterizedTest @MethodSource("getOptionsTestData") - void getOptionsTest(String testName,String testDirection, CDPlayer _cdPlayer, String expectedResult){ + void getOptionsTest(String testName,String testDirection, CDPlayer _cdPlayer){ if(testDirection.equals("ReturnValueNotNull")) { assertThat(_cdPlayer.getOptions()).describedAs(testName).isNotEqualTo(null); } if(testDirection.equals("ArrayLengthGreaterThen0")) { assertThat(_cdPlayer.getOptions().length).describedAs(testName).isNotEqualTo(0); } + if(testDirection.equals("ArrayContainsInterfaceMethods")) { + Method[]interfaceMethods=Device.class.getDeclaredMethods(); + List deviceMethods = new ArrayList(Arrays.asList(_cdPlayer.getOptions())); + for (int i = 0; i < interfaceMethods.length; i++) { + assertThat(deviceMethods.contains(interfaceMethods[i].getName())).describedAs(testName).isEqualTo(true); + } + + } + + } static Stream getOptionsTestData () { CDPlayer cdPlayer1 = new CDPlayer(); return Stream.of( - Arguments.of("[getOptions(): shouldNotReturnNull] => ReturnValueNotNull", "ReturnValueNotNull", cdPlayer1,null), - Arguments.of("[getOptions(): shouldReturnAnArrayWithLengthGreaterThen0] => ArrayLengthGreaterThen0", "ArrayLengthGreaterThen0", cdPlayer1,null) + Arguments.of("[getOptions(): shouldNotReturnNull] => ReturnValueNotNull", "ReturnValueNotNull", cdPlayer1), + Arguments.of("[getOptions(): shouldReturnAnArrayWithLengthGreaterThen0] => ArrayLengthGreaterThen0", "ArrayLengthGreaterThen0", cdPlayer1), + Arguments.of("[getOptions(): shouldReturnAnArrayWithInAllInterfaceMethods] => ArrayContainsInterfaceMethods", "ArrayContainsInterfaceMethods", cdPlayer1) ); } From e5b9f46ce7b8c864340b39d4a0127c5e8df4ebe9 Mon Sep 17 00:00:00 2001 From: alpina0707 Date: Wed, 16 Feb 2022 17:53:53 +0100 Subject: [PATCH 02/19] added first test case for chooseItem() & and added productive code for RadioPlayer --- .../java/device/radioPlayer/RadioPlayer.java | 3 ++- .../device/radioPlayer/RadioPlayerTest.java | 21 +++++++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/main/java/device/radioPlayer/RadioPlayer.java b/src/main/java/device/radioPlayer/RadioPlayer.java index 858cf13..5a79bc8 100644 --- a/src/main/java/device/radioPlayer/RadioPlayer.java +++ b/src/main/java/device/radioPlayer/RadioPlayer.java @@ -158,7 +158,8 @@ public class RadioPlayer implements Device { @Override public String chooseItem(int itemNr) { - return null; + playedStation = savedPlaylist.get(itemNr - 1); + return ("Radio is playing station: 0" + (savedPlaylist.indexOf(playedStation) + 1) + " " + this.playedStation + " from saved playlist"); } @Override diff --git a/src/test/java/device/radioPlayer/RadioPlayerTest.java b/src/test/java/device/radioPlayer/RadioPlayerTest.java index 109e1d1..6de8fc1 100644 --- a/src/test/java/device/radioPlayer/RadioPlayerTest.java +++ b/src/test/java/device/radioPlayer/RadioPlayerTest.java @@ -171,11 +171,24 @@ class RadioPlayerTest { @Test 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 chooseItemOptions() { + RadioPlayer rp = new RadioPlayer(); + rp.chooseItem(2); + + return Stream.of( + Arguments.of("Test select station to play with nr isn`t bigger than playlist size", rp, "Teddy") + ); + } + @ParameterizedTest @MethodSource("testPlayOptions") void testPlay(String testName, RadioPlayer testRp, String expectedResult) { From 0e4bbd07dde28221c124d042f2c07c935b626bba Mon Sep 17 00:00:00 2001 From: JPANZO Date: Wed, 16 Feb 2022 18:12:52 +0100 Subject: [PATCH 03/19] Method getVolume of CDPlayer tested on getVolumeReturnValueBetween0And100. --- src/test/java/device/cdPlayer/CDPlayerTest.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/test/java/device/cdPlayer/CDPlayerTest.java b/src/test/java/device/cdPlayer/CDPlayerTest.java index 56646dc..3bcc1db 100644 --- a/src/test/java/device/cdPlayer/CDPlayerTest.java +++ b/src/test/java/device/cdPlayer/CDPlayerTest.java @@ -2,6 +2,7 @@ package device.cdPlayer; import device.Device; import device.cdPlayer.exceptions.*; +import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; @@ -249,10 +250,7 @@ class CDPlayerTest { for (int i = 0; i < interfaceMethods.length; i++) { assertThat(deviceMethods.contains(interfaceMethods[i].getName())).describedAs(testName).isEqualTo(true); } - } - - } static Stream getOptionsTestData () { CDPlayer cdPlayer1 = new CDPlayer(); @@ -263,6 +261,15 @@ class CDPlayerTest { ); } - + @Test + void getVolumeReturnValueBetween0And100(){ + CDPlayer cdPlayer1 = new CDPlayer(); + boolean volumeIstInValueRange=false; + int volume=cdPlayer1.getVolume(); + if(volume>=0 && volume <=100){ + volumeIstInValueRange=true; + } + assertThat(volumeIstInValueRange).isEqualTo(true); + } } \ No newline at end of file From 0e9662561a8188138ec8e83fbac713782c5d980b Mon Sep 17 00:00:00 2001 From: JPANZO Date: Wed, 16 Feb 2022 18:17:55 +0100 Subject: [PATCH 04/19] changes on Interface 4. --- src/main/java/device/Device.java | 7 +++++-- src/main/java/device/cdPlayer/CDPlayer.java | 10 ++++++++++ src/main/java/device/radioPlayer/RadioPlayer.java | 10 ++++++++++ src/main/java/device/usbPlayer/UsbPlayer.java | 10 ++++++++++ 4 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/main/java/device/Device.java b/src/main/java/device/Device.java index a2a8c3f..276e029 100644 --- a/src/main/java/device/Device.java +++ b/src/main/java/device/Device.java @@ -7,6 +7,7 @@ public interface Device { int getVolume(); void next(); void prev(); + String play(); //get deviceName, Album and current Item String getInfoText(); //get a list of public methods @@ -15,6 +16,8 @@ public interface Device { String chooseItem(int itemNr); // get the actual album String[] getItemList(); - String play(); - + //mute the Volume and returns an Info. + String mute(); + //unmute the Volume and returns an Info. + String unmute(); } diff --git a/src/main/java/device/cdPlayer/CDPlayer.java b/src/main/java/device/cdPlayer/CDPlayer.java index bdf1995..f5f93cc 100644 --- a/src/main/java/device/cdPlayer/CDPlayer.java +++ b/src/main/java/device/cdPlayer/CDPlayer.java @@ -90,6 +90,16 @@ public class CDPlayer implements Device { return loadedCD.getPlayList(); } + @Override + public String mute() { + return null; + } + + @Override + public String unmute() { + return null; + } + @Override public String play() { if(isCdFlapOpen()){ diff --git a/src/main/java/device/radioPlayer/RadioPlayer.java b/src/main/java/device/radioPlayer/RadioPlayer.java index 858cf13..2bd5401 100644 --- a/src/main/java/device/radioPlayer/RadioPlayer.java +++ b/src/main/java/device/radioPlayer/RadioPlayer.java @@ -166,6 +166,16 @@ public class RadioPlayer implements Device { return null; } + @Override + public String mute() { + return null; + } + + @Override + public String unmute() { + return null; + } + @Override public String play() { diff --git a/src/main/java/device/usbPlayer/UsbPlayer.java b/src/main/java/device/usbPlayer/UsbPlayer.java index bf403d6..b1440e3 100644 --- a/src/main/java/device/usbPlayer/UsbPlayer.java +++ b/src/main/java/device/usbPlayer/UsbPlayer.java @@ -160,6 +160,16 @@ public class UsbPlayer implements Device { return null; } + @Override + public String mute() { + return null; + } + + @Override + public String unmute() { + return null; + } + @Override public String play() { From 820d148f3000d97e09ae57794502b5c17286b48d Mon Sep 17 00:00:00 2001 From: alpina0707 Date: Wed, 16 Feb 2022 18:19:37 +0100 Subject: [PATCH 05/19] added second test case for chooseItem() & and added productive code for RadioPlayer --- src/main/java/device/radioPlayer/RadioPlayer.java | 9 +++++++-- src/test/java/device/radioPlayer/RadioPlayerTest.java | 5 ++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/device/radioPlayer/RadioPlayer.java b/src/main/java/device/radioPlayer/RadioPlayer.java index 5a79bc8..8568110 100644 --- a/src/main/java/device/radioPlayer/RadioPlayer.java +++ b/src/main/java/device/radioPlayer/RadioPlayer.java @@ -158,8 +158,13 @@ public class RadioPlayer implements Device { @Override public String chooseItem(int itemNr) { - playedStation = savedPlaylist.get(itemNr - 1); - return ("Radio is playing station: 0" + (savedPlaylist.indexOf(playedStation) + 1) + " " + this.playedStation + " from saved playlist"); + if(itemNr > savedPlaylist.size()) { + playedStation = savedPlaylist.get(savedPlaylist.size()-1); + return ("Radio is playing station: 0" + savedPlaylist.size() + " " + 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 diff --git a/src/test/java/device/radioPlayer/RadioPlayerTest.java b/src/test/java/device/radioPlayer/RadioPlayerTest.java index 6de8fc1..b7fa5ef 100644 --- a/src/test/java/device/radioPlayer/RadioPlayerTest.java +++ b/src/test/java/device/radioPlayer/RadioPlayerTest.java @@ -183,9 +183,12 @@ class RadioPlayerTest { static Stream chooseItemOptions() { RadioPlayer rp = new RadioPlayer(); rp.chooseItem(2); + RadioPlayer rp1 = new RadioPlayer(); + rp1.chooseItem(5); return Stream.of( - Arguments.of("Test select station to play with nr isn`t bigger than playlist size", rp, "Teddy") + 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") ); } From cd09cb87758069b47552ec7fd0e3629d9276ffa7 Mon Sep 17 00:00:00 2001 From: alpina0707 Date: Wed, 16 Feb 2022 18:55:20 +0100 Subject: [PATCH 06/19] added third test case for chooseItem() & and added productive code for RadioPlayer --- .../java/device/radioPlayer/RadioPlayer.java | 27 ++++++++++--------- .../device/radioPlayer/RadioPlayerTest.java | 5 +++- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/main/java/device/radioPlayer/RadioPlayer.java b/src/main/java/device/radioPlayer/RadioPlayer.java index 8568110..5e9d7fe 100644 --- a/src/main/java/device/radioPlayer/RadioPlayer.java +++ b/src/main/java/device/radioPlayer/RadioPlayer.java @@ -158,12 +158,16 @@ public class RadioPlayer implements Device { @Override public String chooseItem(int itemNr) { - if(itemNr > savedPlaylist.size()) { - playedStation = savedPlaylist.get(savedPlaylist.size()-1); + if (itemNr > savedPlaylist.size()) { + playedStation = savedPlaylist.get(savedPlaylist.size() - 1); return ("Radio is playing station: 0" + savedPlaylist.size() + " " + this.playedStation + " from saved playlist"); - }else{ + } 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"); + } } @@ -214,7 +218,7 @@ public class RadioPlayer implements Device { } public String changeToSavedPlaylist() { - if(regionPlaylist.contains(playedStation)) { + 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"; @@ -224,16 +228,15 @@ public class RadioPlayer implements Device { public String changeOrderInSavedPlaylist(int nr) { String station = playedStation; - if((nr-1) > savedPlaylist.size()) { + if ((nr - 1) > savedPlaylist.size()) { 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.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.add(nr - 1, station); return "Station " + playedStation + " is now on place 0" + nr + "in saved playlist"; diff --git a/src/test/java/device/radioPlayer/RadioPlayerTest.java b/src/test/java/device/radioPlayer/RadioPlayerTest.java index b7fa5ef..6e6121c 100644 --- a/src/test/java/device/radioPlayer/RadioPlayerTest.java +++ b/src/test/java/device/radioPlayer/RadioPlayerTest.java @@ -185,10 +185,13 @@ class RadioPlayerTest { rp.chooseItem(2); RadioPlayer rp1 = new RadioPlayer(); rp1.chooseItem(5); + RadioPlayer rp2 = new RadioPlayer(); + rp2.chooseItem(-1); 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 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") ); } From a5c936d2700431c797b59835703ebf92454bc0d1 Mon Sep 17 00:00:00 2001 From: alpina0707 Date: Wed, 16 Feb 2022 18:57:40 +0100 Subject: [PATCH 07/19] added fourth test case for chooseItem() & and added productive code for RadioPlayer --- .../java/device/radioPlayer/RadioPlayer.java | 22 +++++++++++-------- .../device/radioPlayer/RadioPlayerTest.java | 6 ++++- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/main/java/device/radioPlayer/RadioPlayer.java b/src/main/java/device/radioPlayer/RadioPlayer.java index 5e9d7fe..42a5159 100644 --- a/src/main/java/device/radioPlayer/RadioPlayer.java +++ b/src/main/java/device/radioPlayer/RadioPlayer.java @@ -158,16 +158,20 @@ public class RadioPlayer implements Device { @Override public String chooseItem(int itemNr) { - 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"); + if (regionPlaylist.contains(playedStation)) { + playedStation = regionPlaylist.get(itemNr - 1); + return ("Radio is playing station: 0" + (regionPlaylist.indexOf(playedStation) + 1) + " " + this.playedStation + " from regional playlist"); } else { - playedStation = savedPlaylist.get(itemNr - 1); - return ("Radio is playing station: 0" + (savedPlaylist.indexOf(playedStation) + 1) + " " + this.playedStation + " from saved playlist"); - + 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"); + } } } diff --git a/src/test/java/device/radioPlayer/RadioPlayerTest.java b/src/test/java/device/radioPlayer/RadioPlayerTest.java index 6e6121c..db2b35c 100644 --- a/src/test/java/device/radioPlayer/RadioPlayerTest.java +++ b/src/test/java/device/radioPlayer/RadioPlayerTest.java @@ -187,11 +187,15 @@ class RadioPlayerTest { rp1.chooseItem(5); RadioPlayer rp2 = new RadioPlayer(); rp2.chooseItem(-1); + RadioPlayer rp3 = new RadioPlayer(); + rp3.changeRegion("BY"); + rp3.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 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") ); } From acfc2fef2b549e88cefb7ac26fcac6ad14ff8eba Mon Sep 17 00:00:00 2001 From: alpina0707 Date: Wed, 16 Feb 2022 19:05:22 +0100 Subject: [PATCH 08/19] added fifth test case for chooseItem() & and added productive code for RadioPlayer --- src/main/java/device/radioPlayer/RadioPlayer.java | 9 +++++++-- src/test/java/device/radioPlayer/RadioPlayerTest.java | 6 +++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/device/radioPlayer/RadioPlayer.java b/src/main/java/device/radioPlayer/RadioPlayer.java index 42a5159..ca25596 100644 --- a/src/main/java/device/radioPlayer/RadioPlayer.java +++ b/src/main/java/device/radioPlayer/RadioPlayer.java @@ -159,8 +159,13 @@ public class RadioPlayer implements Device { @Override public String chooseItem(int itemNr) { if (regionPlaylist.contains(playedStation)) { - playedStation = regionPlaylist.get(itemNr - 1); - return ("Radio is playing station: 0" + (regionPlaylist.indexOf(playedStation) + 1) + " " + this.playedStation + " from regional playlist"); + if (itemNr > regionPlaylist.size()) { + playedStation = regionPlaylist.get(regionPlaylist.size() - 1); + return ("Radio is playing station: 0" + regionPlaylist.size() + " " + 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); diff --git a/src/test/java/device/radioPlayer/RadioPlayerTest.java b/src/test/java/device/radioPlayer/RadioPlayerTest.java index db2b35c..aa7417c 100644 --- a/src/test/java/device/radioPlayer/RadioPlayerTest.java +++ b/src/test/java/device/radioPlayer/RadioPlayerTest.java @@ -190,12 +190,16 @@ class RadioPlayerTest { RadioPlayer rp3 = new RadioPlayer(); rp3.changeRegion("BY"); rp3.chooseItem(2); + RadioPlayer rp4 = new RadioPlayer(); + rp4.changeRegion("BY"); + rp4.chooseItem(5); 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 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") ); } From 419699e4bcff4bdb3d18aecdd45822a31046e271 Mon Sep 17 00:00:00 2001 From: alpina0707 Date: Wed, 16 Feb 2022 19:11:38 +0100 Subject: [PATCH 09/19] added six test case for chooseItem() & and added productive code for RadioPlayer --- src/main/java/device/radioPlayer/RadioPlayer.java | 3 +++ src/test/java/device/radioPlayer/RadioPlayerTest.java | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/device/radioPlayer/RadioPlayer.java b/src/main/java/device/radioPlayer/RadioPlayer.java index ca25596..849fb11 100644 --- a/src/main/java/device/radioPlayer/RadioPlayer.java +++ b/src/main/java/device/radioPlayer/RadioPlayer.java @@ -162,6 +162,9 @@ public class RadioPlayer implements Device { 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"); diff --git a/src/test/java/device/radioPlayer/RadioPlayerTest.java b/src/test/java/device/radioPlayer/RadioPlayerTest.java index aa7417c..0e8f008 100644 --- a/src/test/java/device/radioPlayer/RadioPlayerTest.java +++ b/src/test/java/device/radioPlayer/RadioPlayerTest.java @@ -193,13 +193,17 @@ class RadioPlayerTest { 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 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") ); } From 007aa5d41574bdaa3810772678d8dd693a708622 Mon Sep 17 00:00:00 2001 From: JPANZO Date: Wed, 16 Feb 2022 19:45:38 +0100 Subject: [PATCH 10/19] Method getInfoText of CDPlayer tested on shouldThrowReturnValueNullException. --- src/main/java/device/cdPlayer/CDPlayer.java | 9 ++++++++- .../exceptions/ReturnValueNullException.java | 9 +++++++++ .../java/device/cdPlayer/CDPlayerTest.java | 18 ++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 src/main/java/device/cdPlayer/exceptions/ReturnValueNullException.java diff --git a/src/main/java/device/cdPlayer/CDPlayer.java b/src/main/java/device/cdPlayer/CDPlayer.java index f5f93cc..c3d0ce1 100644 --- a/src/main/java/device/cdPlayer/CDPlayer.java +++ b/src/main/java/device/cdPlayer/CDPlayer.java @@ -14,6 +14,7 @@ public class CDPlayer implements Device { private int CdDriveContent=0; private int CdFlap=0; private int volume = 0; + private String infoText=null; private List supportedFormats = new ArrayList(Arrays.asList(new String[] {"Audio","MP3","WMA","AAC"})); private String actualPlayTrack=""; @@ -66,7 +67,10 @@ public class CDPlayer implements Device { @Override public String getInfoText() { - return null; + if(infoText==null){ + throw new ReturnValueNullException(); + } + return infoText; } @Override @@ -157,4 +161,7 @@ public class CDPlayer implements Device { return actualPlayTrack; } + public void setInfoText(String intoText) { + this.infoText=intoText; + } } diff --git a/src/main/java/device/cdPlayer/exceptions/ReturnValueNullException.java b/src/main/java/device/cdPlayer/exceptions/ReturnValueNullException.java new file mode 100644 index 0000000..15f8ca0 --- /dev/null +++ b/src/main/java/device/cdPlayer/exceptions/ReturnValueNullException.java @@ -0,0 +1,9 @@ +package device.cdPlayer.exceptions; + +public class ReturnValueNullException extends RuntimeException{ + + public ReturnValueNullException() { + super("Method should not return a Null-Value."); + } + +} diff --git a/src/test/java/device/cdPlayer/CDPlayerTest.java b/src/test/java/device/cdPlayer/CDPlayerTest.java index 3bcc1db..eee04af 100644 --- a/src/test/java/device/cdPlayer/CDPlayerTest.java +++ b/src/test/java/device/cdPlayer/CDPlayerTest.java @@ -7,6 +7,7 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; +import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; import java.lang.reflect.Method; @@ -17,6 +18,8 @@ import java.util.stream.Stream; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.when; + @ExtendWith(MockitoExtension.class) class CDPlayerTest { @@ -272,4 +275,19 @@ class CDPlayerTest { assertThat(volumeIstInValueRange).isEqualTo(true); } + @ParameterizedTest + @MethodSource("getInfoTestData") + void getInfoTest(String testName, CDPlayer _cdPlayer,Exception exception , String expectedResult){ + Exception newException=assertThrows(exception.getClass(),()->_cdPlayer.getInfoText()); + assertEquals(ReturnValueNullException.class, newException.getClass()); + } + static Stream getInfoTestData () { + + CDPlayer cdPlayer1 = new CDPlayer(); + + return Stream.of( + Arguments.of("[getInfoText() by infoText=null ] => shouldThrowReturnValueNullException", cdPlayer1,new ReturnValueNullException(),"") + ); + } + } \ No newline at end of file From d61ea260075e780a3eae25879f4a44ad28ef00c3 Mon Sep 17 00:00:00 2001 From: alpina0707 Date: Wed, 16 Feb 2022 19:54:41 +0100 Subject: [PATCH 11/19] added first test case for getItemList() & and added productive code for RadioPlayer --- src/main/java/device/radioPlayer/RadioPlayer.java | 2 +- .../java/device/radioPlayer/RadioPlayerTest.java | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/device/radioPlayer/RadioPlayer.java b/src/main/java/device/radioPlayer/RadioPlayer.java index d7f35f1..1741dc6 100644 --- a/src/main/java/device/radioPlayer/RadioPlayer.java +++ b/src/main/java/device/radioPlayer/RadioPlayer.java @@ -185,7 +185,7 @@ public class RadioPlayer implements Device { @Override public String[] getItemList() { - return null; + return savedPlaylist.toArray(new String[0]); } @Override diff --git a/src/test/java/device/radioPlayer/RadioPlayerTest.java b/src/test/java/device/radioPlayer/RadioPlayerTest.java index 0e8f008..b991a7f 100644 --- a/src/test/java/device/radioPlayer/RadioPlayerTest.java +++ b/src/test/java/device/radioPlayer/RadioPlayerTest.java @@ -320,4 +320,18 @@ class RadioPlayerTest { Arguments.of("Test for change order in saved playlist with nr is than smaller than 0 at front of playlist", rp2, 0, "Teddy") ); } + @ParameterizedTest + @MethodSource("getItemListOptions") + void testGetItemList(String testName, RadioPlayer testRp, String[] expectedResult) { + String[] playList = testRp.getItemList(); + assertThat(playList).describedAs(testName).isEqualTo(expectedResult); + } + + static Stream getItemListOptions() { + RadioPlayer rp = new RadioPlayer(); + + return Stream.of( + Arguments.of("Test for return saved playlist", rp, rp.savedPlaylist.toArray(new String[0])) + ); + } } \ No newline at end of file From d606a41ef7dede0142ea21ee7a1b30287c2b1b76 Mon Sep 17 00:00:00 2001 From: JPANZO Date: Wed, 16 Feb 2022 20:02:33 +0100 Subject: [PATCH 12/19] Method getInfoText of CDPlayer tested on ExceptionShouldReturnAMessage. --- src/test/java/device/cdPlayer/CDPlayerTest.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/test/java/device/cdPlayer/CDPlayerTest.java b/src/test/java/device/cdPlayer/CDPlayerTest.java index eee04af..4e9e7c4 100644 --- a/src/test/java/device/cdPlayer/CDPlayerTest.java +++ b/src/test/java/device/cdPlayer/CDPlayerTest.java @@ -277,16 +277,22 @@ class CDPlayerTest { @ParameterizedTest @MethodSource("getInfoTestData") - void getInfoTest(String testName, CDPlayer _cdPlayer,Exception exception , String expectedResult){ - Exception newException=assertThrows(exception.getClass(),()->_cdPlayer.getInfoText()); - assertEquals(ReturnValueNullException.class, newException.getClass()); + void getInfoTest(String testName,String cases, CDPlayer _cdPlayer,Exception exception , String expectedResult){ + Exception newException = assertThrows(exception.getClass(), () -> _cdPlayer.getInfoText()); + if(cases.equals("Case1")) { + assertEquals(ReturnValueNullException.class, newException.getClass()); + } + if(cases.equals("Case2")) { + assertThat(newException.getMessage()).describedAs(testName).isEqualTo(expectedResult); + } } static Stream getInfoTestData () { CDPlayer cdPlayer1 = new CDPlayer(); return Stream.of( - Arguments.of("[getInfoText() by infoText=null ] => shouldThrowReturnValueNullException", cdPlayer1,new ReturnValueNullException(),"") + Arguments.of("[getInfoText() by infoText=null ] => shouldThrowReturnValueNullException","Case1", cdPlayer1,new ReturnValueNullException(),""), + Arguments.of("[getInfoText() by infoText=null ] => ExceptionShouldReturnAMessage","Case2",cdPlayer1,new ReturnValueNullException(),"Method should not return a Null-Value.") ); } From b7b79badda3d9c14f0fa7360b8256ec51fe3cde0 Mon Sep 17 00:00:00 2001 From: alpina0707 Date: Wed, 16 Feb 2022 20:09:42 +0100 Subject: [PATCH 13/19] added second test case for getItemList() & and added productive code for RadioPlayer --- src/main/java/device/radioPlayer/RadioPlayer.java | 5 ++++- .../java/device/radioPlayer/RadioPlayerTest.java | 12 ++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main/java/device/radioPlayer/RadioPlayer.java b/src/main/java/device/radioPlayer/RadioPlayer.java index 1741dc6..5ef8556 100644 --- a/src/main/java/device/radioPlayer/RadioPlayer.java +++ b/src/main/java/device/radioPlayer/RadioPlayer.java @@ -185,7 +185,10 @@ public class RadioPlayer implements Device { @Override public String[] getItemList() { - return savedPlaylist.toArray(new String[0]); + if (regionPlaylist.contains(playedStation)) + return regionPlaylist.toArray(new String[0]); + else + return savedPlaylist.toArray(new String[0]); } @Override diff --git a/src/test/java/device/radioPlayer/RadioPlayerTest.java b/src/test/java/device/radioPlayer/RadioPlayerTest.java index b991a7f..4de54c2 100644 --- a/src/test/java/device/radioPlayer/RadioPlayerTest.java +++ b/src/test/java/device/radioPlayer/RadioPlayerTest.java @@ -320,18 +320,26 @@ class RadioPlayerTest { Arguments.of("Test for change order in saved playlist with nr is than smaller than 0 at front of playlist", rp2, 0, "Teddy") ); } + @ParameterizedTest @MethodSource("getItemListOptions") - void testGetItemList(String testName, RadioPlayer testRp, String[] expectedResult) { + void testGetItemList(String testName, RadioPlayer testRp, String testTyp, String[] expectedResult) { + if (testTyp.equals("region")) { + testRp.changeRegion("BY"); + } + String[] playList = testRp.getItemList(); assertThat(playList).describedAs(testName).isEqualTo(expectedResult); } static Stream getItemListOptions() { RadioPlayer rp = new RadioPlayer(); + RadioPlayer rp1 = new RadioPlayer(); + rp1.changeRegion("BY"); return Stream.of( - Arguments.of("Test for return saved playlist", rp, rp.savedPlaylist.toArray(new String[0])) + Arguments.of("Test for return saved playlist", rp, "saved", rp.savedPlaylist.toArray(new String[0])), + Arguments.of("Test for return regional playlist", rp1, "region", rp1.regionPlaylist.toArray(new String[0])) ); } } \ No newline at end of file From f8bcf0c62b1007777ad21ad29e880e220a4495ea Mon Sep 17 00:00:00 2001 From: alpina0707 Date: Wed, 16 Feb 2022 21:14:54 +0100 Subject: [PATCH 14/19] added first test case for mute() & and added productive code for RadioPlayer --- .../java/device/radioPlayer/RadioPlayer.java | 3 ++- .../device/radioPlayer/RadioPlayerTest.java | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/java/device/radioPlayer/RadioPlayer.java b/src/main/java/device/radioPlayer/RadioPlayer.java index 5ef8556..90bfffb 100644 --- a/src/main/java/device/radioPlayer/RadioPlayer.java +++ b/src/main/java/device/radioPlayer/RadioPlayer.java @@ -193,7 +193,8 @@ public class RadioPlayer implements Device { @Override public String mute() { - return null; + setLautstaerke(0); + return "RadioPlayer is muted now"; } @Override diff --git a/src/test/java/device/radioPlayer/RadioPlayerTest.java b/src/test/java/device/radioPlayer/RadioPlayerTest.java index 4de54c2..af01010 100644 --- a/src/test/java/device/radioPlayer/RadioPlayerTest.java +++ b/src/test/java/device/radioPlayer/RadioPlayerTest.java @@ -342,4 +342,22 @@ class RadioPlayerTest { Arguments.of("Test for return regional playlist", rp1, "region", rp1.regionPlaylist.toArray(new String[0])) ); } + + @ParameterizedTest + @MethodSource("muteOptions") + void testMute(String testName, RadioPlayer testRp, int expectedResult) { + + int volume = testRp.getVolume(); + assertThat(volume).describedAs(testName).isEqualTo(expectedResult); + } + + static Stream muteOptions() { + RadioPlayer rp = new RadioPlayer(); + rp.setLautstaerke(25); + rp.mute(); + + return Stream.of( + Arguments.of("Test for mute RadioPlayer if volume is actually 0", rp, 0) + ); + } } \ No newline at end of file From 8b23b50442e4552404e435caee641f8fbe1bc296 Mon Sep 17 00:00:00 2001 From: alpina0707 Date: Wed, 16 Feb 2022 21:23:20 +0100 Subject: [PATCH 15/19] added second test case for mute() & and added productive code for RadioPlayer --- src/main/java/device/radioPlayer/RadioPlayer.java | 2 ++ .../java/device/radioPlayer/RadioPlayerTest.java | 13 +++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/device/radioPlayer/RadioPlayer.java b/src/main/java/device/radioPlayer/RadioPlayer.java index 90bfffb..a510fef 100644 --- a/src/main/java/device/radioPlayer/RadioPlayer.java +++ b/src/main/java/device/radioPlayer/RadioPlayer.java @@ -22,6 +22,7 @@ public class RadioPlayer implements Device { LocalDateTime now = LocalDateTime.now(); int hour = now.getHour(); int Lautstaerke = 0; + int savedVolume; String playedStation = ""; public String getYouFMInfoByTime(int x) { @@ -193,6 +194,7 @@ public class RadioPlayer implements Device { @Override public String mute() { + savedVolume = getVolume(); setLautstaerke(0); return "RadioPlayer is muted now"; } diff --git a/src/test/java/device/radioPlayer/RadioPlayerTest.java b/src/test/java/device/radioPlayer/RadioPlayerTest.java index af01010..2570bb1 100644 --- a/src/test/java/device/radioPlayer/RadioPlayerTest.java +++ b/src/test/java/device/radioPlayer/RadioPlayerTest.java @@ -345,9 +345,10 @@ class RadioPlayerTest { @ParameterizedTest @MethodSource("muteOptions") - void testMute(String testName, RadioPlayer testRp, int expectedResult) { - - int volume = testRp.getVolume(); + void testMute(String testName, String testTyp, RadioPlayer testRp, int expectedResult) { + int volume; + if (testTyp.equals("actual")) volume = testRp.getVolume(); + else volume = testRp.savedVolume; assertThat(volume).describedAs(testName).isEqualTo(expectedResult); } @@ -355,9 +356,13 @@ class RadioPlayerTest { RadioPlayer rp = new RadioPlayer(); rp.setLautstaerke(25); rp.mute(); + RadioPlayer rp1 = new RadioPlayer(); + rp1.setLautstaerke(30); + rp1.mute(); return Stream.of( - Arguments.of("Test for mute RadioPlayer if volume is actually 0", rp, 0) + Arguments.of("Test for mute RadioPlayer if volume is actually 0", "actual", rp, 0), + Arguments.of("Test for mute RadioPlayer if volume is saved before muting", "saved", rp1, 30) ); } } \ No newline at end of file From 1f11a8366c9d699ca46bd24ccce796d2624c1e80 Mon Sep 17 00:00:00 2001 From: JPANZO Date: Wed, 16 Feb 2022 21:26:22 +0100 Subject: [PATCH 16/19] Method getInfoText of CDPlayer tested on MessageShouldContainInfoOfActualPlayTrack. --- src/main/java/device/cdPlayer/CDPlayer.java | 6 +++-- .../java/device/cdPlayer/CDPlayerTest.java | 26 ++++++++++++++++--- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/main/java/device/cdPlayer/CDPlayer.java b/src/main/java/device/cdPlayer/CDPlayer.java index c3d0ce1..14ace41 100644 --- a/src/main/java/device/cdPlayer/CDPlayer.java +++ b/src/main/java/device/cdPlayer/CDPlayer.java @@ -161,7 +161,9 @@ public class CDPlayer implements Device { return actualPlayTrack; } - public void setInfoText(String intoText) { - this.infoText=intoText; + public void setInfoText(String infoText) { + this.infoText=infoText; } + + } diff --git a/src/test/java/device/cdPlayer/CDPlayerTest.java b/src/test/java/device/cdPlayer/CDPlayerTest.java index 4e9e7c4..e6b26e9 100644 --- a/src/test/java/device/cdPlayer/CDPlayerTest.java +++ b/src/test/java/device/cdPlayer/CDPlayerTest.java @@ -278,21 +278,41 @@ class CDPlayerTest { @ParameterizedTest @MethodSource("getInfoTestData") void getInfoTest(String testName,String cases, CDPlayer _cdPlayer,Exception exception , String expectedResult){ - Exception newException = assertThrows(exception.getClass(), () -> _cdPlayer.getInfoText()); + if(cases.equals("Case1")) { + Exception newException = assertThrows(exception.getClass(), () -> _cdPlayer.getInfoText()); assertEquals(ReturnValueNullException.class, newException.getClass()); } if(cases.equals("Case2")) { + Exception newException = assertThrows(exception.getClass(), () -> _cdPlayer.getInfoText()); assertThat(newException.getMessage()).describedAs(testName).isEqualTo(expectedResult); } + if(cases.equals("Case3")) { + String[] album= _cdPlayer.getItemList(); + boolean containsInfoOfActualPlayTrack=false; + for (int i = 0; i < album.length; i++) { + if(_cdPlayer.getInfoText().contains(expectedResult)) + containsInfoOfActualPlayTrack=true; + } + assertThat(containsInfoOfActualPlayTrack).describedAs(testName).isEqualTo(true); + } } static Stream getInfoTestData () { - CDPlayer cdPlayer1 = new CDPlayer(); + String[] audioPlayList=new String[]{"Audio 01","Audio 02","Audio 03","Audio 04","Audio 05"}; + //some CDs + CD audioCD1=new CD("Audio",audioPlayList); + CDPlayer cdPlayer2 = new CDPlayer(); + cdPlayer2.tapOnCdFlap(); + cdPlayer2.setCD(audioCD1); + cdPlayer2.tapOnCdFlap(); + cdPlayer2.setInfoText("CDPlayer: Item->"+cdPlayer2.getActualPlayTrack()+" from Album->"+"AlbumName"+" running."); + return Stream.of( Arguments.of("[getInfoText() by infoText=null ] => shouldThrowReturnValueNullException","Case1", cdPlayer1,new ReturnValueNullException(),""), - Arguments.of("[getInfoText() by infoText=null ] => ExceptionShouldReturnAMessage","Case2",cdPlayer1,new ReturnValueNullException(),"Method should not return a Null-Value.") + Arguments.of("[getInfoText() by infoText=null ] => ExceptionShouldReturnAMessage","Case2",cdPlayer1,new ReturnValueNullException(),"Method should not return a Null-Value."), + Arguments.of("[getInfoText() by infoText=Message ] => MessageShouldContainInfoOfActualPlayTrack","Case3",cdPlayer2,null,"") ); } From de82f475dd2f7f7453406f886519043de7ea7998 Mon Sep 17 00:00:00 2001 From: alpina0707 Date: Wed, 16 Feb 2022 21:32:19 +0100 Subject: [PATCH 17/19] added test case for unmute() & and added productive code for RadioPlayer --- src/main/java/device/radioPlayer/RadioPlayer.java | 3 ++- src/test/java/device/radioPlayer/RadioPlayerTest.java | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/device/radioPlayer/RadioPlayer.java b/src/main/java/device/radioPlayer/RadioPlayer.java index a510fef..2b91e3e 100644 --- a/src/main/java/device/radioPlayer/RadioPlayer.java +++ b/src/main/java/device/radioPlayer/RadioPlayer.java @@ -201,7 +201,8 @@ public class RadioPlayer implements Device { @Override public String unmute() { - return null; + setLautstaerke(savedVolume); + return ("RadioPlayer is unmuted Volume is set to " + getVolume()); } diff --git a/src/test/java/device/radioPlayer/RadioPlayerTest.java b/src/test/java/device/radioPlayer/RadioPlayerTest.java index 2570bb1..ac5eefc 100644 --- a/src/test/java/device/radioPlayer/RadioPlayerTest.java +++ b/src/test/java/device/radioPlayer/RadioPlayerTest.java @@ -365,4 +365,12 @@ class RadioPlayerTest { Arguments.of("Test for mute RadioPlayer if volume is saved before muting", "saved", rp1, 30) ); } + @Test + void TestUnmute() { + RadioPlayer rp = new RadioPlayer(); + rp.setLautstaerke(40); + rp.mute(); + rp.unmute(); + assertThat(rp.getVolume()).describedAs("Test if unmute is setting the saved volume").isEqualTo(rp.savedVolume); + } } \ No newline at end of file From c5c7ea8c954b269d4335367ecc87594fca63efa9 Mon Sep 17 00:00:00 2001 From: JPANZO Date: Wed, 16 Feb 2022 22:39:08 +0100 Subject: [PATCH 18/19] Method getInfoText of CDPlayer tested on MessageShouldContainInfoAboutAlbum. --- src/main/java/device/cdPlayer/CD.java | 9 +++++++++ src/main/java/device/cdPlayer/CDPlayer.java | 7 +++++-- src/test/java/device/cdPlayer/CDPlayerTest.java | 11 +++++++++-- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/main/java/device/cdPlayer/CD.java b/src/main/java/device/cdPlayer/CD.java index e1f61b3..4934ac2 100644 --- a/src/main/java/device/cdPlayer/CD.java +++ b/src/main/java/device/cdPlayer/CD.java @@ -2,6 +2,7 @@ package device.cdPlayer; public class CD { private String format; + private String albumName; private String[] playList; public CD() {} @@ -30,4 +31,12 @@ public class CD { public void setPlayList(String[] playList) { this.playList = playList; } + + public String getAlbumName() { + return albumName; + } + + public void setAlbumName(String albumName) { + this.albumName = albumName; + } } diff --git a/src/main/java/device/cdPlayer/CDPlayer.java b/src/main/java/device/cdPlayer/CDPlayer.java index 14ace41..07bb170 100644 --- a/src/main/java/device/cdPlayer/CDPlayer.java +++ b/src/main/java/device/cdPlayer/CDPlayer.java @@ -161,9 +161,12 @@ public class CDPlayer implements Device { return actualPlayTrack; } - public void setInfoText(String infoText) { - this.infoText=infoText; + public void setInfoText() { + this.infoText="CDPlayer: Item->"+actualPlayTrack+" from Album->"+this.loadedCD.getAlbumName()+" running."; } + public CD getCD() { + return this.loadedCD; + } } diff --git a/src/test/java/device/cdPlayer/CDPlayerTest.java b/src/test/java/device/cdPlayer/CDPlayerTest.java index e6b26e9..8b9064e 100644 --- a/src/test/java/device/cdPlayer/CDPlayerTest.java +++ b/src/test/java/device/cdPlayer/CDPlayerTest.java @@ -296,6 +296,11 @@ class CDPlayerTest { } assertThat(containsInfoOfActualPlayTrack).describedAs(testName).isEqualTo(true); } + if(cases.equals("Case4")) { + String albumName= _cdPlayer.getCD().getAlbumName(); + assertThat(_cdPlayer.getInfoText().contains(albumName)).describedAs(testName).isEqualTo(true); + } + } static Stream getInfoTestData () { CDPlayer cdPlayer1 = new CDPlayer(); @@ -303,16 +308,18 @@ class CDPlayerTest { String[] audioPlayList=new String[]{"Audio 01","Audio 02","Audio 03","Audio 04","Audio 05"}; //some CDs CD audioCD1=new CD("Audio",audioPlayList); + audioCD1.setAlbumName("Love Songs"); CDPlayer cdPlayer2 = new CDPlayer(); cdPlayer2.tapOnCdFlap(); cdPlayer2.setCD(audioCD1); cdPlayer2.tapOnCdFlap(); - cdPlayer2.setInfoText("CDPlayer: Item->"+cdPlayer2.getActualPlayTrack()+" from Album->"+"AlbumName"+" running."); + cdPlayer2.setInfoText(); return Stream.of( Arguments.of("[getInfoText() by infoText=null ] => shouldThrowReturnValueNullException","Case1", cdPlayer1,new ReturnValueNullException(),""), Arguments.of("[getInfoText() by infoText=null ] => ExceptionShouldReturnAMessage","Case2",cdPlayer1,new ReturnValueNullException(),"Method should not return a Null-Value."), - Arguments.of("[getInfoText() by infoText=Message ] => MessageShouldContainInfoOfActualPlayTrack","Case3",cdPlayer2,null,"") + Arguments.of("[getInfoText() by infoText=Message ] => MessageShouldContainInfoOfActualPlayTrack","Case3",cdPlayer2,null,""), + Arguments.of("[getInfoText() by infoText=Message ] => MessageShouldContainInfoAboutAlbum","Case4",cdPlayer2,null,"") ); } From f51c6d783c63ce99f744944ffaff8ed3c83f4842 Mon Sep 17 00:00:00 2001 From: JPANZO Date: Wed, 16 Feb 2022 22:44:52 +0100 Subject: [PATCH 19/19] Method getInfoText of CDPlayer tested on MessageShouldContainInfoAboutDevice. --- src/main/java/device/cdPlayer/CDPlayer.java | 2 +- src/test/java/device/cdPlayer/CDPlayerTest.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/device/cdPlayer/CDPlayer.java b/src/main/java/device/cdPlayer/CDPlayer.java index 07bb170..57101c8 100644 --- a/src/main/java/device/cdPlayer/CDPlayer.java +++ b/src/main/java/device/cdPlayer/CDPlayer.java @@ -162,7 +162,7 @@ public class CDPlayer implements Device { } public void setInfoText() { - this.infoText="CDPlayer: Item->"+actualPlayTrack+" from Album->"+this.loadedCD.getAlbumName()+" running."; + this.infoText=this.getClass().getSimpleName()+": Item->"+actualPlayTrack+" from Album->"+this.loadedCD.getAlbumName()+" running."; } diff --git a/src/test/java/device/cdPlayer/CDPlayerTest.java b/src/test/java/device/cdPlayer/CDPlayerTest.java index 8b9064e..e8d8f77 100644 --- a/src/test/java/device/cdPlayer/CDPlayerTest.java +++ b/src/test/java/device/cdPlayer/CDPlayerTest.java @@ -300,6 +300,9 @@ class CDPlayerTest { String albumName= _cdPlayer.getCD().getAlbumName(); assertThat(_cdPlayer.getInfoText().contains(albumName)).describedAs(testName).isEqualTo(true); } + if(cases.equals("Case5")) { + assertThat(_cdPlayer.getInfoText().contains("CDPlayer")).describedAs(testName).isEqualTo(true); + } } static Stream getInfoTestData () { @@ -319,7 +322,8 @@ class CDPlayerTest { Arguments.of("[getInfoText() by infoText=null ] => shouldThrowReturnValueNullException","Case1", cdPlayer1,new ReturnValueNullException(),""), Arguments.of("[getInfoText() by infoText=null ] => ExceptionShouldReturnAMessage","Case2",cdPlayer1,new ReturnValueNullException(),"Method should not return a Null-Value."), Arguments.of("[getInfoText() by infoText=Message ] => MessageShouldContainInfoOfActualPlayTrack","Case3",cdPlayer2,null,""), - Arguments.of("[getInfoText() by infoText=Message ] => MessageShouldContainInfoAboutAlbum","Case4",cdPlayer2,null,"") + Arguments.of("[getInfoText() by infoText=Message ] => MessageShouldContainInfoAboutAlbum","Case4",cdPlayer2,null,""), + Arguments.of("[getInfoText() by infoText=Message ] => MessageShouldContainInfoAboutDevice","Case5",cdPlayer2,null,"") ); }