@@ -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

Large diffs are not rendered by default.

@@ -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

Large diffs are not rendered by default.

@@ -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;