tests
parent
bd3a5c4c2b
commit
023365e653
|
@ -3,9 +3,20 @@
|
||||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
<exclude-output />
|
<exclude-output />
|
||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="module-library">
|
||||||
|
<library name="JUnit4">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.13.1/junit-4.13.1.jar!/" />
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES />
|
||||||
|
</library>
|
||||||
|
</orderEntry>
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
|
@ -1,21 +0,0 @@
|
||||||
import tpe.exceptions.roboter.Robot;
|
|
||||||
|
|
||||||
public class RobotFactory {
|
|
||||||
private static int R2D2Id=0;
|
|
||||||
private static int C2POId=10000;
|
|
||||||
public static Robot getRobot(String typ){
|
|
||||||
switch (typ){
|
|
||||||
case "R2D2":
|
|
||||||
return new R2D2(R2D2Id++,"blah");
|
|
||||||
|
|
||||||
case "C3PO":
|
|
||||||
return new C3PO(C2POId++,"blah");
|
|
||||||
|
|
||||||
case "Nexus6":
|
|
||||||
return Nexus6.getInstance();
|
|
||||||
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,5 +1,6 @@
|
||||||
import tpe.exceptions.roboter.Robot;
|
package roboter;
|
||||||
import tpe.exceptions.roboter.exceptions.RobotException;
|
|
||||||
|
import roboter.exceptions.RobotException;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
|
@ -1,9 +1,8 @@
|
||||||
import tpe.exceptions.roboter.Robot;
|
package roboter;
|
||||||
import tpe.exceptions.roboter.exceptions.RobotException;
|
|
||||||
import tpe.exceptions.roboter.exceptions.RobotIllegalStateException;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
import roboter.exceptions.RobotException;
|
||||||
import java.util.stream.Collectors;
|
import roboter.exceptions.RobotIllegalStateException;
|
||||||
|
import roboter.exceptions.RobotException;
|
||||||
|
|
||||||
public class Nexus6 implements Robot {
|
public class Nexus6 implements Robot {
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import tpe.exceptions.roboter.Robot;
|
package roboter;
|
||||||
import tpe.exceptions.roboter.exceptions.RobotException;
|
|
||||||
|
import roboter.exceptions.RobotException;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
/* (c) 2012 Thomas Smits */
|
/* (c) 2012 Thomas Smits */
|
||||||
package tpe.exceptions.roboter;
|
package roboter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Interface für Roboter.
|
* Interface für Roboter.
|
|
@ -1,7 +1,8 @@
|
||||||
package tpe.exceptions.roboter;
|
package roboter;
|
||||||
|
|
||||||
|
|
||||||
import tpe.exceptions.roboter.exceptions.RobotException;
|
import roboter.exceptions.RobotException;
|
||||||
|
import roboter.exceptions.RobotException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Das Interface repräsentiert einen einfachen Roboter mit seinen Funktionen.
|
* Das Interface repräsentiert einen einfachen Roboter mit seinen Funktionen.
|
|
@ -0,0 +1,22 @@
|
||||||
|
package roboter;
|
||||||
|
|
||||||
|
public class RobotFactory {
|
||||||
|
private static int R2D2Id=0;
|
||||||
|
private static int C2POId=10000;
|
||||||
|
|
||||||
|
public static Robot getRobot(Typ typ,String name){
|
||||||
|
switch (typ){
|
||||||
|
case R2D2:
|
||||||
|
return new R2D2(R2D2Id++,name);
|
||||||
|
|
||||||
|
case C3PO:
|
||||||
|
return new C3PO(C2POId++,name);
|
||||||
|
|
||||||
|
case Nexus6:
|
||||||
|
return Nexus6.getInstance();
|
||||||
|
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,9 +1,9 @@
|
||||||
|
|
||||||
package tpe.exceptions.roboter;
|
package roboter;
|
||||||
|
|
||||||
import tpe.exceptions.roboter.exceptions.RobotException;
|
import roboter.exceptions.RobotException;
|
||||||
import tpe.exceptions.roboter.exceptions.RobotIllegalStateException;
|
import roboter.exceptions.RobotIllegalStateException;
|
||||||
import tpe.exceptions.roboter.exceptions.RobotMagicValueException;
|
import roboter.exceptions.RobotMagicValueException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Das Interface repräsentiert den Befehlssatz eines einfachen Roboters.
|
* Das Interface repräsentiert den Befehlssatz eines einfachen Roboters.
|
|
@ -0,0 +1,5 @@
|
||||||
|
package roboter;
|
||||||
|
|
||||||
|
public enum Typ {
|
||||||
|
R2D2,C3PO,Nexus6
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package tpe.exceptions.roboter.exceptions;
|
package roboter.exceptions;
|
||||||
|
|
||||||
public class RobotException extends Exception{
|
public class RobotException extends Exception{
|
||||||
public RobotException(String errormessage) {
|
public RobotException(String errormessage) {
|
|
@ -1,7 +1,7 @@
|
||||||
package tpe.exceptions.roboter.exceptions;
|
package roboter.exceptions;
|
||||||
|
|
||||||
import tpe.exceptions.roboter.Robot;
|
|
||||||
|
|
||||||
|
import roboter.Robot;
|
||||||
|
import roboter.exceptions.*;
|
||||||
public class RobotIllegalStateException extends RobotException {
|
public class RobotIllegalStateException extends RobotException {
|
||||||
|
|
||||||
public RobotIllegalStateException(Robot roboter) {
|
public RobotIllegalStateException(Robot roboter) {
|
|
@ -1,4 +1,4 @@
|
||||||
package tpe.exceptions.roboter.exceptions;
|
package roboter.exceptions;
|
||||||
|
|
||||||
public class RobotMagicValueException {
|
public class RobotMagicValueException {
|
||||||
}
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
package roboter;
|
||||||
|
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.Test;
|
||||||
|
import roboter.exceptions.RobotIllegalStateException;
|
||||||
|
|
||||||
|
public class ExceptionTest {
|
||||||
|
@Test
|
||||||
|
public void testNexus6Speak(){
|
||||||
|
Nexus6 robot = Nexus6.getInstance();
|
||||||
|
Assert.assertThrows(RobotIllegalStateException.class,()->{
|
||||||
|
robot.speak(new int[]{1,2,3,4});
|
||||||
|
});
|
||||||
|
Assert.assertThrows(RobotIllegalStateException.class,()->{
|
||||||
|
robot.think(new int[]{1,2,3,4});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void testNexus6Trigger(){
|
||||||
|
Nexus6 robot = Nexus6.getInstance();
|
||||||
|
boolean isPowerOn = robot.isPowerOn();
|
||||||
|
robot.triggerPowerSwitch();
|
||||||
|
Assert.assertEquals(isPowerOn, robot.isPowerOn());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
package roboter;
|
||||||
|
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
public class FactoryTest {
|
||||||
|
@Test
|
||||||
|
public void singletonNexus6(){
|
||||||
|
Nexus6 roboter1 = Nexus6.getInstance();
|
||||||
|
Nexus6 roboter2=Nexus6.getInstance();
|
||||||
|
Assert.assertEquals(roboter1,roboter2);
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void factoryMethodTest(){
|
||||||
|
Robot robot1=RobotFactory.getRobot(Typ.R2D2,"roboterX");
|
||||||
|
Assert.assertTrue(robot1 instanceof R2D2);
|
||||||
|
Robot robot2=RobotFactory.getRobot(Typ.C3PO,"roboter2");
|
||||||
|
Assert.assertTrue(robot2 instanceof C3PO);
|
||||||
|
|
||||||
|
Assert.assertEquals(robot1.getName(),"roboterX");
|
||||||
|
Assert.assertEquals(robot2.getName(),"roboter2");
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue