diff --git a/src/main/java/roboter/C3PO.java b/src/main/java/roboter/C3PO.java index a69f38e..956f466 100644 --- a/src/main/java/roboter/C3PO.java +++ b/src/main/java/roboter/C3PO.java @@ -15,22 +15,31 @@ public class C3PO implements Robot { private String name; private boolean isPowerOn = true; ArrayList exceptionList=new ArrayList<>(); - + public C3PO(int id, String name) { this.id = id; this.name = name; } - + + /** + * @return id of the robot C3PO + */ @Override public int getId() { return id; } - + + /** + * @return name of the robot + */ @Override public String getName() { return name; } - + + /** + * @return isPorwerOn true if it's false + */ @Override public void triggerPowerSwitch() { if (isPowerOn == false) { @@ -39,13 +48,18 @@ public class C3PO implements Robot { isPowerOn = false; } } - //tes test - + + /** + * @return isPowerOn + */ @Override public boolean isPowerOn() { return isPowerOn; } + /** + * creating a RobotException getLastException + */ @Override public RobotException getLastException() { if (!exceptionList.isEmpty()){ @@ -55,6 +69,11 @@ public class C3PO implements Robot { return null; } + /** + * speak method that returns the sorted and formated numbers from the array zahlen + * @param int[] zahlen Array of numbers for sorting + * @return sorted and formated numbers + */ @Override public String speak(int[] zahlen) throws RobotException, RobotMagicValueException { if(!isPowerOn){ @@ -71,7 +90,14 @@ public class C3PO implements Robot { return arrayFormatieren(sortiert); } - + /** + *method to format the outcome + * Returns a Stream consisting of the elements of this stream,each boxed to an Integer + * and maps it into a String + * each element of the Stream is separated by "," + * @param int[] zahlen Array of numbers to sort + * @return formated outcome + */ private String arrayFormatieren(int[] zahlen) throws RobotMagicValueException { var ergebnis = Arrays.stream(zahlen) @@ -81,6 +107,12 @@ public class C3PO implements Robot { return ergebnis; } + /** + * method that sorts the array zahlen with the Selectionsort-Algorithmin in descending order + * if the array zahlen contains the number 42 the RobotMagicValueException is thrown and added to the exception list + * @param int[] zahlen Array of numbers for sorting + * @return array of numbers in descending order + */ @Override public int[] think(int[] zahlen) throws RobotException { if(!isPowerOn){ diff --git a/src/main/java/roboter/Nexus6.java b/src/main/java/roboter/Nexus6.java index 516f6f6..a245c88 100644 --- a/src/main/java/roboter/Nexus6.java +++ b/src/main/java/roboter/Nexus6.java @@ -26,23 +26,31 @@ public class Nexus6 implements Robot { return instance; } - + /** + * @return id of the robot + */ @Override public int getId() { return id; } + /** + * @return name of the robot + */ @Override public String getName() { return name; } - + @Override public void triggerPowerSwitch() { } - + /** + * Nexus can be turned on but it has no funktionality + * @return PowerisOn + */ @Override public boolean isPowerOn() { return isPowerOn; @@ -56,7 +64,11 @@ public class Nexus6 implements Robot { } return null; } - + /** + * Nexus 6 can't format the sorted numbers so an exception RobotIllegalStateException is thrown + * and added to the exception list + * * @param int[] zahlen Array + */ @Override public String speak(int[] zahlen) throws RobotIllegalStateException { var newException = new RobotIllegalStateException(this); @@ -65,7 +77,11 @@ public class Nexus6 implements Robot { } - + /** + * Nexus 6 can't sort the numbers so an exception RobotIllegalStateException is thrown + * and added to the exception list + * * @param int[] zahlen Array + */ @Override public int[] think(int[] zahlen) throws RobotIllegalStateException { var newException2=new RobotIllegalStateException(this); diff --git a/src/main/java/roboter/R2D2.java b/src/main/java/roboter/R2D2.java index 75aba33..bcaba44 100644 --- a/src/main/java/roboter/R2D2.java +++ b/src/main/java/roboter/R2D2.java @@ -20,17 +20,25 @@ public class R2D2 implements Robot { } - + /** + * @return id of the robot + */ @Override public int getId() { return id; } + /** + * @return name of the robot + */ @Override public String getName() { return name; } + /** + * @return isPorwerOn true if it's false + */ @Override public void triggerPowerSwitch() { if(isPowerOn==false){ @@ -40,11 +48,17 @@ public class R2D2 implements Robot { } } + /** + * @return isPowerOn + */ @Override public boolean isPowerOn() { return isPowerOn; } + /** + * creating a RobotException getLastException + */ @Override public RobotException getLastException() { if (!exceptionList.isEmpty()){ @@ -54,6 +68,12 @@ public class R2D2 implements Robot { return null; } + /** + * speak method that returns the sorted and formated numbers from the array zahlen + * if the array zahlen contains the number 42 the RobotMagicValueException is thrown and added to the exception list + * @param int[] zahlen Array of numbers for sorting + * @return sorted and formated numbers + */ @Override public String speak(int[] zahlen) throws RobotException, RobotMagicValueException { if(!isPowerOn){ @@ -71,6 +91,14 @@ public class R2D2 implements Robot { return arrayFormatieren(sortiert); } + /** + * method to format the outcome + * Returns a Stream consisting of the elements of this stream,each boxed to an Integer + * and maps it into a String + * each element of the Stream is separated by "," + * @param int[] zahlen Array of numbers to sort + * @return formated outcome + */ private String arrayFormatieren(int[] zahlen){ var ergebnis = Arrays.stream(zahlen) .boxed() @@ -78,6 +106,12 @@ public class R2D2 implements Robot { .collect(Collectors.joining(",")); return ergebnis; } + + /** + * method that sorts the array zahlen with the Selectionsort-Algorithmin in ascending order + * @param int[] zahlen Array of numbers for sorting + * @return array of numbers in ascending order + */ @Override public int[] think(int[] zahlen) throws RobotException, RobotMagicValueException { if(!isPowerOn){ diff --git a/src/test/java/roboter/C3POTest.java b/src/test/java/roboter/C3POTest.java index 67e6a6d..6bbdd9e 100644 --- a/src/test/java/roboter/C3POTest.java +++ b/src/test/java/roboter/C3POTest.java @@ -33,36 +33,36 @@ public class C3POTest { var list = new int[]{12,6,7,10,18,2}; Robot robot= RobotFactory.getRobot(Typ.C3PO,"roboter2"); - Assert.assertEquals("18,12,10,7,6,2",robot.speak(list)); + Assert.assertEquals("18;12;10;7;6;2",robot.speak(list)); var list1 = new int[] {17,10,19,1,4,2,7}; - Assert.assertEquals("19,17,10,7,4,2,1", robot.speak(list)); + Assert.assertEquals("19;17;10;7;4;2;1", robot.speak(list)); var list2 = new int[] {3,17,7,20,5,15,8}; - Assert.assertEquals("20,17,15,8,7,5,3", robot.speak(list)); + Assert.assertEquals("20;17;15;8;7;5;3", robot.speak(list)); var list3 = new int[] {13,8,5,12,1,9,7}; - Assert.assertEquals("13,12,9,8,7,5,1", robot.speak(list)); + Assert.assertEquals("13;12;9;8;7;5;1", robot.speak(list)); var list4 = new int[] {18,4,21,7,3,2,9}; - Assert.assertEquals("21,18,9,7,4,3,2", robot.speak(list)); + Assert.assertEquals("21;18;9;7;4;3;2", robot.speak(list)); var list5 = new int[] {13,23,8,4,22,6}; - Assert.assertEquals("23,22,13,8,6,4", robot.speak(list)); + Assert.assertEquals("23;22;13;8;6;4", robot.speak(list)); var list6 = new int[] {10,9,8,7,6,5}; - Assert.assertEquals("10,9,8,7,6,5", robot.speak(list)); + Assert.assertEquals("10;9;8;7;6;5", robot.speak(list)); var list7 = new int[] {1,2,3,5,4,6}; - Assert.assertEquals("6,5,4,3,2,1", robot.speak(list)); + Assert.assertEquals("6;5;4;3;2;1", robot.speak(list)); var list8 = new int[] {20,19,18,17,16,15}; - Assert.assertEquals("20,19,18,17,16,15", robot.speak(list)); + Assert.assertEquals("20;19;18;17;16;15", robot.speak(list)); var list9 = new int[] {15,1,13,10,7,4}; - Assert.assertEquals("15,13,10,7,4,1", robot.speak(list)); + Assert.assertEquals("15;13;10;7;4;1", robot.speak(list)); var list10 = new int[] {10,15,11,8,5,6,}; - Assert.assertEquals("15,11,10,8,6,5", robot.speak(list)); + Assert.assertEquals("15;11;10;8;6;5", robot.speak(list)); } }