| @@ -0,0 +1,322 @@ | ||
| package dreieck; | ||
|
|
||
| import static org.junit.Assert.*; | ||
|
|
||
| import org.junit.Before; | ||
| import org.junit.Test; | ||
|
|
||
| /** | ||
| * Eine einfache Klasse Dreieck mit Seiten im Bereich von int. | ||
| * | ||
| * @author Michael Borko | ||
| * @email mborko@tgm.ac.at | ||
| * @version 20130425-1555 | ||
| * | ||
| */ | ||
| public class TestIstDreieck { | ||
|
|
||
| private int seite_a; | ||
| private int seite_b; | ||
| private int seite_c; | ||
|
|
||
| private Dreieck dreieck; | ||
|
|
||
| /** | ||
| * Konstruktor verlangt drei Integer-Werte fuer die jeweiligen Kanten. | ||
| * @param _a | ||
| * @param _b | ||
| * @param _c | ||
| */ | ||
| @Before | ||
| public void setUp(){ | ||
| dreieck = new Dreieck(seite_a,seite_b,seite_c); | ||
| } | ||
|
|
||
| @Test | ||
| public void istDreieckSeiteANull() { | ||
| dreieck.setSeite_a(0); | ||
| dreieck.setSeite_b(1); | ||
| dreieck.setSeite_c(2); | ||
|
|
||
| assertFalse(dreieck.istDreieck()); | ||
| } | ||
|
|
||
| @Test | ||
| public void istDreieckSeiteBNull() { | ||
| dreieck.setSeite_a(1); | ||
| dreieck.setSeite_b(0); | ||
| dreieck.setSeite_c(2); | ||
|
|
||
| assertFalse(dreieck.istDreieck()); | ||
| } | ||
|
|
||
| @Test | ||
| public void istDreieckSeiteCNull() { | ||
| dreieck.setSeite_a(1); | ||
| dreieck.setSeite_b(2); | ||
| dreieck.setSeite_c(0); | ||
|
|
||
| assertFalse(dreieck.istDreieck()); | ||
| } | ||
|
|
||
| @Test | ||
| public void istDreieckSeiteAKleinerNull(){ | ||
| dreieck.setSeite_a(-5); | ||
| dreieck.setSeite_b(2); | ||
| dreieck.setSeite_c(4); | ||
|
|
||
| assertFalse(dreieck.istDreieck()); | ||
| } | ||
|
|
||
| @Test | ||
| public void istDreieckSeiteBKleinerNull(){ | ||
| dreieck.setSeite_a(5); | ||
| dreieck.setSeite_b(-2); | ||
| dreieck.setSeite_c(4); | ||
|
|
||
| assertFalse(dreieck.istDreieck()); | ||
| } | ||
|
|
||
| @Test | ||
| public void istDreieckSeiteCKleinerNull(){ | ||
| dreieck.setSeite_a(5); | ||
| dreieck.setSeite_b(2); | ||
| dreieck.setSeite_c(-4); | ||
|
|
||
| assertFalse(dreieck.istDreieck()); | ||
| } | ||
|
|
||
| @Test | ||
| public void istDreieckAPlusBGleichC(){ | ||
| dreieck.setSeite_a(5); | ||
| dreieck.setSeite_b(2); | ||
| dreieck.setSeite_c(7); | ||
|
|
||
| assertFalse(dreieck.istDreieck()); | ||
| } | ||
|
|
||
| @Test | ||
| public void istDreieckAPlusCGleichB(){ | ||
| dreieck.setSeite_a(5); | ||
| dreieck.setSeite_b(12); | ||
| dreieck.setSeite_c(7); | ||
|
|
||
| assertFalse(dreieck.istDreieck()); | ||
| } | ||
|
|
||
| @Test | ||
| public void istDreieckBPlusCGleichA(){ | ||
| dreieck.setSeite_a(9); | ||
| dreieck.setSeite_b(2); | ||
| dreieck.setSeite_c(7); | ||
|
|
||
| assertFalse(dreieck.istDreieck()); | ||
| } | ||
|
|
||
| @Test | ||
| public void istDreieckAPlusBKleiner0(){ | ||
| dreieck.setSeite_a(1); | ||
| dreieck.setSeite_b(Integer.MAX_VALUE); | ||
| dreieck.setSeite_c(7); | ||
|
|
||
| assertFalse(dreieck.istDreieck()); | ||
| } | ||
|
|
||
| @Test | ||
| public void istDreieckBPlusCKleiner0(){ | ||
| dreieck.setSeite_a(1); | ||
| dreieck.setSeite_b(1); | ||
| dreieck.setSeite_c(Integer.MAX_VALUE); | ||
|
|
||
| assertFalse(dreieck.istDreieck()); | ||
| } | ||
|
|
||
| @Test | ||
| public void istDreieckAPlusCKleiner0(){ | ||
| dreieck.setSeite_a(Integer.MAX_VALUE-10); | ||
| dreieck.setSeite_b(1); | ||
| dreieck.setSeite_c(11); | ||
|
|
||
| assertFalse(dreieck.istDreieck()); | ||
| } | ||
|
|
||
| @Test | ||
| public void istDreieckAPlusBKleinerC(){ | ||
| dreieck.setSeite_a(2); | ||
| dreieck.setSeite_b(1); | ||
| dreieck.setSeite_c(11); | ||
|
|
||
| assertFalse(dreieck.istDreieck()); | ||
| } | ||
|
|
||
| @Test | ||
| public void istDreieckAPlusCKleinerB(){ | ||
| dreieck.setSeite_a(2); | ||
| dreieck.setSeite_b(11); | ||
| dreieck.setSeite_c(1); | ||
|
|
||
| assertFalse(dreieck.istDreieck()); | ||
| } | ||
|
|
||
| @Test | ||
| public void istDreieckCPlusBKleinerA(){ | ||
| dreieck.setSeite_a(11); | ||
| dreieck.setSeite_b(1); | ||
| dreieck.setSeite_c(1); | ||
|
|
||
| assertFalse(dreieck.istDreieck()); | ||
| } | ||
|
|
||
| @Test | ||
| public void istDreieckTrue(){ | ||
| dreieck.setSeite_a(5); | ||
| dreieck.setSeite_b(5); | ||
| dreieck.setSeite_c(5); | ||
|
|
||
| assertTrue(dreieck.istDreieck()); | ||
| } | ||
|
|
||
| @Test | ||
| public void gleichSeitigWennGleichSeitig(){ | ||
| dreieck.setSeite_a(5); | ||
| dreieck.setSeite_b(5); | ||
| dreieck.setSeite_c(5); | ||
|
|
||
| assertTrue(dreieck.gleichSeitig()); | ||
| } | ||
|
|
||
| @Test | ||
| public void gleichSeitigWennNichtGleichSeitigBUndC(){ | ||
| dreieck.setSeite_a(6); | ||
| dreieck.setSeite_b(5); | ||
| dreieck.setSeite_c(5); | ||
|
|
||
| assertFalse(dreieck.gleichSeitig()); | ||
| } | ||
|
|
||
| @Test | ||
| public void gleichSeitigWennKeinDreieck(){ | ||
| dreieck.setSeite_a(Integer.MAX_VALUE); | ||
| dreieck.setSeite_b(5); | ||
| dreieck.setSeite_c(5); | ||
|
|
||
| assertFalse(dreieck.gleichSeitig()); | ||
| } | ||
|
|
||
| @Test | ||
| public void gleichSeitigWennNichtGleichSeitigAUndB(){ | ||
| dreieck.setSeite_a(6); | ||
| dreieck.setSeite_b(6); | ||
| dreieck.setSeite_c(5); | ||
|
|
||
| assertFalse(dreieck.gleichSeitig()); | ||
| } | ||
|
|
||
| @Test | ||
| public void gleichSchenkeligNicht(){ | ||
| dreieck.setSeite_a(6); | ||
| dreieck.setSeite_b(5); | ||
| dreieck.setSeite_c(4); | ||
|
|
||
| assertFalse(dreieck.gleichSchenkelig()); | ||
| } | ||
|
|
||
| @Test | ||
| public void gleichSchenkeligWennKeinDreieck(){ | ||
| dreieck.setSeite_a(Integer.MAX_VALUE); | ||
| dreieck.setSeite_b(5); | ||
| dreieck.setSeite_c(4); | ||
|
|
||
| assertFalse(dreieck.gleichSchenkelig()); | ||
| } | ||
|
|
||
| @Test | ||
| public void gleichSchenkeligAUndB(){ | ||
| dreieck.setSeite_a(6); | ||
| dreieck.setSeite_b(6); | ||
| dreieck.setSeite_c(4); | ||
|
|
||
| assertTrue(dreieck.gleichSchenkelig()); | ||
| } | ||
|
|
||
| @Test | ||
| public void gleichSchenkeligBUndC(){ | ||
| dreieck.setSeite_a(5); | ||
| dreieck.setSeite_b(6); | ||
| dreieck.setSeite_c(6); | ||
|
|
||
| assertTrue(dreieck.gleichSchenkelig()); | ||
| } | ||
|
|
||
| @Test | ||
| public void gleichSchenkeligAUndC(){ | ||
| dreieck.setSeite_a(6); | ||
| dreieck.setSeite_b(5); | ||
| dreieck.setSeite_c(6); | ||
|
|
||
| assertTrue(dreieck.gleichSchenkelig()); | ||
| } | ||
|
|
||
| @Test | ||
| public void rechtWinkeligNicht(){ | ||
| dreieck.setSeite_a(5); | ||
| dreieck.setSeite_b(5); | ||
| dreieck.setSeite_c(5); | ||
|
|
||
| assertFalse(dreieck.rechtWinkelig()); | ||
| } | ||
|
|
||
| @Test | ||
| public void rechtWinkeligBeiA(){ | ||
| dreieck.setSeite_a(5); | ||
| dreieck.setSeite_b(4); | ||
| dreieck.setSeite_c(3); | ||
|
|
||
| assertTrue(dreieck.rechtWinkelig()); | ||
| } | ||
|
|
||
| @Test | ||
| public void rechtWinkeligBeiB(){ | ||
| dreieck.setSeite_a(3); | ||
| dreieck.setSeite_b(5); | ||
| dreieck.setSeite_c(4); | ||
|
|
||
| assertTrue(dreieck.rechtWinkelig()); | ||
| } | ||
|
|
||
| @Test | ||
| public void rechtWinkeligBeiCGleichA(){ | ||
| dreieck.setSeite_a(6); | ||
| dreieck.setSeite_b(5); | ||
| dreieck.setSeite_c(6); | ||
|
|
||
| assertFalse(dreieck.rechtWinkelig()); | ||
| } | ||
|
|
||
| @Test | ||
| public void rechtWinkeligBeiC(){ | ||
| dreieck.setSeite_a(3); | ||
| dreieck.setSeite_b(4); | ||
| dreieck.setSeite_c(5); | ||
|
|
||
| assertTrue(dreieck.rechtWinkelig()); | ||
| } | ||
|
|
||
| @Test | ||
| public void rechtWinkeligPythagorasFalse(){ | ||
| dreieck.setSeite_a((int)Math.sqrt(Integer.MAX_VALUE)-1); | ||
| dreieck.setSeite_b((int)Math.sqrt(Integer.MAX_VALUE)-1); | ||
| dreieck.setSeite_c((int)Math.sqrt(Integer.MAX_VALUE)); | ||
|
|
||
| assertFalse(dreieck.rechtWinkelig()); | ||
| } | ||
|
|
||
| @Test | ||
| public void keinDreieckBeirechtWinkelig(){ | ||
| dreieck.setSeite_a(3); | ||
| dreieck.setSeite_b(Integer.MAX_VALUE); | ||
| dreieck.setSeite_c(5); | ||
|
|
||
| assertFalse(dreieck.rechtWinkelig()); | ||
| } | ||
| } |
| @@ -0,0 +1,8 @@ | ||
| /** | ||
| * | ||
| */ | ||
| /** | ||
| * @author Mladen | ||
| * | ||
| */ | ||
| package dreieck; |
| @@ -0,0 +1,10 @@ | ||
| <?xml version="1.0" encoding="UTF-8"?> | ||
| <classpath> | ||
| <classpathentry kind="src" path=""/> | ||
| <classpathentry kind="lib" path="C:/Program Files/Java/byte-buddy-1.3.15.jar"/> | ||
| <classpathentry kind="lib" path="C:/Program Files/Java/mockito-core-2.0.49-beta.jar"/> | ||
| <classpathentry kind="lib" path="C:/Program Files/Java/objenesis-2.2.jar"/> | ||
| <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/> | ||
| <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> | ||
| <classpathentry kind="output" path="bin"/> | ||
| </classpath> |
| @@ -0,0 +1,12 @@ | ||
| *.class | ||
|
|
||
| # Mobile Tools for Java (J2ME) | ||
| .mtj.tmp/ | ||
|
|
||
| # Package Files # | ||
| *.jar | ||
| *.war | ||
| *.ear | ||
|
|
||
| # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml | ||
| hs_err_pid* |
| @@ -0,0 +1,17 @@ | ||
| <?xml version="1.0" encoding="UTF-8"?> | ||
| <projectDescription> | ||
| <name>Mockito</name> | ||
| <comment></comment> | ||
| <projects> | ||
| </projects> | ||
| <buildSpec> | ||
| <buildCommand> | ||
| <name>org.eclipse.jdt.core.javabuilder</name> | ||
| <arguments> | ||
| </arguments> | ||
| </buildCommand> | ||
| </buildSpec> | ||
| <natures> | ||
| <nature>org.eclipse.jdt.core.javanature</nature> | ||
| </natures> | ||
| </projectDescription> |
| @@ -0,0 +1,11 @@ | ||
| eclipse.preferences.version=1 | ||
| org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled | ||
| org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 | ||
| org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve | ||
| org.eclipse.jdt.core.compiler.compliance=1.8 | ||
| org.eclipse.jdt.core.compiler.debug.lineNumber=generate | ||
| org.eclipse.jdt.core.compiler.debug.localVariable=generate | ||
| org.eclipse.jdt.core.compiler.debug.sourceFile=generate | ||
| org.eclipse.jdt.core.compiler.problem.assertIdentifier=error | ||
| org.eclipse.jdt.core.compiler.problem.enumIdentifier=error | ||
| org.eclipse.jdt.core.compiler.source=1.8 |
| @@ -0,0 +1,3 @@ | ||
| Learning to use git are: | ||
|
|
||
| Mladen Vojnovic 3AHIT/Tgm |
| @@ -0,0 +1,10 @@ | ||
| <?xml version="1.0" encoding="UTF-8"?> | ||
| <classpath> | ||
| <classpathentry kind="src" path=""/> | ||
| <classpathentry kind="lib" path="C:/Program Files/Java/byte-buddy-1.3.15.jar"/> | ||
| <classpathentry kind="lib" path="C:/Program Files/Java/mockito-core-2.0.49-beta.jar"/> | ||
| <classpathentry kind="lib" path="C:/Program Files/Java/objenesis-2.2.jar"/> | ||
| <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/> | ||
| <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> | ||
| <classpathentry kind="output" path="bin"/> | ||
| </classpath> |
| @@ -0,0 +1,12 @@ | ||
| *.class | ||
|
|
||
| # Mobile Tools for Java (J2ME) | ||
| .mtj.tmp/ | ||
|
|
||
| # Package Files # | ||
| *.jar | ||
| *.war | ||
| *.ear | ||
|
|
||
| # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml | ||
| hs_err_pid* |
| @@ -0,0 +1,17 @@ | ||
| <?xml version="1.0" encoding="UTF-8"?> | ||
| <projectDescription> | ||
| <name>Mockito</name> | ||
| <comment></comment> | ||
| <projects> | ||
| </projects> | ||
| <buildSpec> | ||
| <buildCommand> | ||
| <name>org.eclipse.jdt.core.javabuilder</name> | ||
| <arguments> | ||
| </arguments> | ||
| </buildCommand> | ||
| </buildSpec> | ||
| <natures> | ||
| <nature>org.eclipse.jdt.core.javanature</nature> | ||
| </natures> | ||
| </projectDescription> |
| @@ -0,0 +1,11 @@ | ||
| eclipse.preferences.version=1 | ||
| org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled | ||
| org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 | ||
| org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve | ||
| org.eclipse.jdt.core.compiler.compliance=1.8 | ||
| org.eclipse.jdt.core.compiler.debug.lineNumber=generate | ||
| org.eclipse.jdt.core.compiler.debug.localVariable=generate | ||
| org.eclipse.jdt.core.compiler.debug.sourceFile=generate | ||
| org.eclipse.jdt.core.compiler.problem.assertIdentifier=error | ||
| org.eclipse.jdt.core.compiler.problem.enumIdentifier=error | ||
| org.eclipse.jdt.core.compiler.source=1.8 |
| @@ -0,0 +1,3 @@ | ||
| Learning to use git are: | ||
|
|
||
| Mladen Vojnovic 3AHIT/Tgm |
| @@ -0,0 +1,131 @@ | ||
| package vojnovic; | ||
|
|
||
| import static org.junit.Assert.*; | ||
|
|
||
|
|
||
| import org.junit.Before; | ||
| import org.junit.Test; | ||
| import org.mockito.InOrder; | ||
|
|
||
| import java.awt.List; | ||
| import java.util.LinkedList; | ||
| import java.util.List.*; | ||
| import static org.mockito.Mockito.*; | ||
| import static org.mockito.Matchers.*; | ||
| import static org.mockito.hamcrest.MockitoHamcrest.*; | ||
| import static org.mockito.ArgumentMatcher.*; | ||
|
|
||
| public class MockTestList { | ||
|
|
||
| LinkedList mockedList; | ||
|
|
||
|
|
||
| @Before | ||
| public void setUp(){ | ||
| mockedList = mock(LinkedList.class); | ||
| } | ||
|
|
||
| @Test | ||
| public void testBehavior(){ | ||
| List mockedList = mock(List.class); | ||
|
|
||
| mockedList.add("one"); | ||
| mockedList.removeAll(); | ||
|
|
||
| verify(mockedList).add("one"); | ||
| verify(mockedList).removeAll(); | ||
| } | ||
|
|
||
| @Test(expected=RuntimeException.class) | ||
| public void stubbing(){ | ||
| LinkedList mockedList = mock(LinkedList.class); | ||
|
|
||
| when(mockedList.get(0)).thenReturn("first"); | ||
| when(mockedList.get(1)).thenThrow(new RuntimeException()); | ||
|
|
||
| System.out.println(mockedList.get(0)); | ||
| System.out.println(mockedList.get(1)); | ||
|
|
||
| System.out.println(mockedList.get(999)); | ||
|
|
||
| verify(mockedList).get(1); | ||
| } | ||
|
|
||
| /*@Test | ||
| public void testArgumentMatcher(){ | ||
| when(mockedList.get(anyInt())).thenReturn("element"); | ||
| //when(mockedList.contains(argThat(isValid()))).thenReturn("element"); | ||
| System.out.println(mockedList.get(999)); | ||
| verify(mockedList).get(anyInt()); | ||
| }*/ | ||
|
|
||
| @Test | ||
| public void testNumberOfInnocations(){ | ||
| mockedList.add("once"); | ||
| mockedList.add("twice"); | ||
| mockedList.add("twice"); | ||
| mockedList.add("three times"); | ||
| mockedList.add("three times"); | ||
| mockedList.add("three times"); | ||
|
|
||
| verify(mockedList).add("once"); | ||
| verify(mockedList, times(1)).add("once"); | ||
|
|
||
| verify(mockedList, times(2)).add("twice"); | ||
| verify(mockedList, times(3)).add("three times"); | ||
|
|
||
| verify(mockedList, never()).add("never happened"); | ||
|
|
||
| verify(mockedList, atLeastOnce()).add("three times"); | ||
| verify(mockedList, atLeast(2)).add("twice"); | ||
| verify(mockedList, atLeast(3)).add("three times"); | ||
|
|
||
| } | ||
|
|
||
| @Test | ||
| public void verificationInOrderSingleMock(){ | ||
|
|
||
| // A. Single mock whose methods must be invoked in a particular order | ||
| List singleMock = mock(List.class); | ||
|
|
||
| //using a single mock | ||
| singleMock.add("was added first"); | ||
| singleMock.add("was added second"); | ||
|
|
||
| //create an inOrder verifier for a single mock | ||
| InOrder inOrder = inOrder(singleMock); | ||
|
|
||
| //following will make sure that add is first called with "was added first, then with "was added second" | ||
| inOrder.verify(singleMock).add("was added first"); | ||
| inOrder.verify(singleMock).add("was added second"); | ||
|
|
||
| } | ||
|
|
||
|
|
||
| @Test | ||
| public void verificationInOrderMultipleMock(){ | ||
|
|
||
| // B. Multiple mocks that must be used in a particular order | ||
| List firstMock = mock(List.class); | ||
| List secondMock = mock(List.class); | ||
|
|
||
| //using mocks | ||
| firstMock.add("was called first"); | ||
| secondMock.add("was called second"); | ||
|
|
||
| //create inOrder object passing any mocks that need to be verified in order | ||
| InOrder inOrder = inOrder(firstMock, secondMock); | ||
|
|
||
| //following will make sure that firstMock was called before secondMock | ||
| inOrder.verify(firstMock).add("was called first"); | ||
| inOrder.verify(secondMock).add("was called second"); | ||
|
|
||
| // Oh, and A + B can be mixed together at will | ||
|
|
||
| } | ||
|
|
||
|
|
||
| } |
| @@ -0,0 +1,8 @@ | ||
| /** | ||
| * | ||
| */ | ||
| /** | ||
| * @author Mladen | ||
| * | ||
| */ | ||
| package vojnovic; |