Browse Source

Method changeToNextCD of CDPlayer tested changing_from_last_to_first CD -> FirstCDShouldBeTaken.

feature-pr-jacksonsNewFeature
JPANZO 2 years ago
parent
commit
2e2be94402
  1. 8
      src/main/java/device/cdPlayer/CDPlayer.java
  2. 8
      src/main/java/device/cdPlayer/CDWechseler.java
  3. 29
      src/test/java/device/cdPlayer/CDPlayerTest.java

8
src/main/java/device/cdPlayer/CDPlayer.java

@ -152,13 +152,17 @@ public class CDPlayer implements Device {
throw new MaxCapacityExceededException();
}
cdWechseler.loadOneCD(cd,index);
this.loadedCD=cdWechseler.getCDList()[0];
this.loadedCD=cdWechseler.getCDList().get(0);
}
public void changeToNextCD(){
if(activeSource.equals("CDDrive")){
throw new ChangeCDOnlyOnCDWechselerException();
}
this.loadedCD=cdWechseler.getCDList()[1];
List<CD> CDList = cdWechseler.getCDList();
int indexOfLoadedCD=CDList.indexOf(loadedCD);
int nextIndex=(indexOfLoadedCD+1)%CDList.size();
this.loadedCD=CDList.get(nextIndex);
}
//Getters, Setters und SupportMethods

8
src/main/java/device/cdPlayer/CDWechseler.java

@ -4,7 +4,7 @@ import java.util.ArrayList;
import java.util.List;
public class CDWechseler {
private CD[]CDList=new CD[10];
private List<CD> CDList=new ArrayList<>();
private boolean running=false;
@ -16,11 +16,11 @@ public class CDWechseler {
this.running = true;
}
public CD[] getCDList() {
public List<CD> getCDList() {
return CDList;
}
public void loadOneCD(CD cd,int index){
CDList[index]=cd;
public void loadOneCD(CD cd, int index){
CDList.add(cd);
}
}

29
src/test/java/device/cdPlayer/CDPlayerTest.java

@ -404,7 +404,7 @@ class CDPlayerTest {
if(cases.equals("Case3")) {
_cdPlayer.changePlaySource();
_cdPlayer.loadCDWechseler(cd,0);
CD firstCD=_cdPlayer.getCdWechseler().getCDList()[0];
CD firstCD=_cdPlayer.getCdWechseler().getCDList().get(0);
assertThat(firstCD).describedAs(testName).isNotEqualTo(null);
}
if(cases.equals("Case4")) {
@ -443,21 +443,24 @@ class CDPlayerTest {
}
if(cases.equals("Case3")) {
CD actualCD=_cdPlayer.getCD();
System.out.println("loadedCD_id:"+actualCD.getId());
_cdPlayer.changeToNextCD();
CD nextCD=_cdPlayer.getCD();
System.out.println("nextCD_id:"+nextCD.getId());
/*System.out.println("loadedCD_id:"+_cdPlayer.getCD().getId());
System.out.println("actualCD_id:"+_cdPlayer.getCdWechseler().getCDList()[0].getId());
System.out.println("nextCD_id:"+_cdPlayer.getCdWechseler().getCDList()[1].getId());*/
//System.out.println("nextCD_id:"+nextCD.getId());
assertThat(nextCD.getId()==actualCD.getId()).describedAs(testName).isNotEqualTo(true);
}
if(cases.equals("Case4")) {
CD actualCdBefore=_cdPlayer.getCD();
for (int i = 0; i <3 ; i++) {
_cdPlayer.changeToNextCD();
}
CD actualCdAfter=_cdPlayer.getCD();
assertThat(actualCdBefore.getId()==actualCdAfter.getId()).describedAs(testName).isEqualTo(true);
}
}
static Stream<Arguments> changeToNextCDData () {
String[] audioPlayList=new String[]{"Audio 01","Audio 02","Audio 03","Audio 04","Audio 05"};
CD audioCD1=new CD("Audio","PopMusic",audioPlayList,"XAc20044");
CD audioCD2=new CD("Audio","RockMusic",audioPlayList,"BLXPP78");
CD audioCD3=new CD("Audio","SalsaMusic",audioPlayList,"KKRP118");
CDPlayer cdPlayer1 = new CDPlayer();
@ -465,16 +468,26 @@ class CDPlayerTest {
cdPlayer2.changePlaySource();
cdPlayer2.loadCDWechseler(audioCD1,0);
cdPlayer2.loadCDWechseler(audioCD2,1);
cdPlayer2.loadCDWechseler(audioCD3,2);
CDPlayer cdPlayer3 = new CDPlayer();
cdPlayer3.changePlaySource();
cdPlayer3.loadCDWechseler(audioCD1,0);
cdPlayer3.loadCDWechseler(audioCD2,1);
cdPlayer3.loadCDWechseler(audioCD3,2);
CDPlayer cdPlayer4 = new CDPlayer();
cdPlayer4.changePlaySource();
cdPlayer4.loadCDWechseler(audioCD1,0);
cdPlayer4.loadCDWechseler(audioCD2,1);
cdPlayer4.loadCDWechseler(audioCD3,2);
return Stream.of(
Arguments.of("[changeToNextCD() by CDWechselerNotSelected ] => shouldThrowAnException", "Case1", cdPlayer1,new ChangeCDOnlyOnCDWechselerException()),
Arguments.of("[changeToNextCD() checking the effect ] => loadedCDShouldNotReturnNull", "Case2", cdPlayer2,null),
Arguments.of("[changeToNextCD() checking the effect 2 ] => loadedCDShouldNotHaveTheSameIdAsPrev", "Case3", cdPlayer3,null)
Arguments.of("[changeToNextCD() checking the effect 2 ] => loadedCDShouldNotHaveTheSameIdAsPrev", "Case3", cdPlayer3,null),
Arguments.of("[3x changeToNextCD() changing from last to first CD] => FirstCDShouldBeTaken", "Case4", cdPlayer4,null)
);
}

Loading…
Cancel
Save