<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.uni-due.de/jack/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mbuttgereit</id>
	<title>JACK Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.uni-due.de/jack/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mbuttgereit"/>
	<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Spezial:Beitr%C3%A4ge/Mbuttgereit"/>
	<updated>2026-05-15T15:25:29Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=UnaryMinus&amp;diff=1837</id>
		<title>UnaryMinus</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=UnaryMinus&amp;diff=1837"/>
		<updated>2017-09-19T06:49:04Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
Die Funktion &#039;&#039;UnaryMinus&#039;&#039; (-) setzt eine positive Zahl ins negative und eine negative Zahl ins positive.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
  -a&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039; - double&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt die positive oder negative Zahl zurück&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
    -8    --&amp;gt; -8&lt;br /&gt;
    -(-5)    --&amp;gt; 5&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	fillInVariableMap.put(1, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;3&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
	exerciseVariableMap.put(&amp;quot;a&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;3&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testUnaryMinus1() {&lt;br /&gt;
	assertEquals(-8, Evaluator.getNumberResult(&amp;quot;-8&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testUnaryMinus2() {&lt;br /&gt;
	assertEquals(-2, Evaluator.getNumberResult(&amp;quot;-2&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testUnaryMinus3() {&lt;br /&gt;
	assertEquals(-2.2, Evaluator.getNumberResult(&amp;quot;-2.2&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testUnaryMinusWithInput1() {&lt;br /&gt;
	assertEquals(-3, Evaluator.getNumberResult(&amp;quot;-[pos=1]&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testUnaryMinusWithInput2() {&lt;br /&gt;
	assertEquals(-1, Evaluator.getNumberResult(&amp;quot;-[pos=2]&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testUnaryMinusWithVariables1() {&lt;br /&gt;
	assertEquals(-3, Evaluator.getNumberResult(&amp;quot;-[var=a]&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testUnaryMinusWithVariables2() {&lt;br /&gt;
	assertEquals(-1, Evaluator.getNumberResult(&amp;quot;-[var=b]&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testUnaryMinusWithExpressions1() {&lt;br /&gt;
	assertEquals(5, Evaluator.getNumberResult(&amp;quot;-(-5)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testUnaryMinusWithExpressions2() {&lt;br /&gt;
	assertEquals(-4, Evaluator.getNumberResult(&amp;quot;-(-(-4))&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testUnaryMinusWithWrongInputCharacter() {&lt;br /&gt;
	assertEquals(-5, Evaluator.getNumberResult(&amp;quot;-&#039;aabc&#039;&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
* erwartet eine Zahl&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Trim&amp;diff=1836</id>
		<title>Trim</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Trim&amp;diff=1836"/>
		<updated>2017-09-19T06:48:16Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;trim&#039;&#039; entfernt aus einer Zeichenkette alle am Anfang und am Ende stehende Leerzeichen. Die Funktion erwartet einen String und gibt eine modifizierte Zeichenkette als String zurück.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 trim(String zeichenkette)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;zeichenkette&#039;&#039;&#039; - die Zeichenkette bei der die am Anfang und Ende befindlichen Leerzeichen entfernt werden sollen&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt einen Stringzurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
====Standardfälle====&lt;br /&gt;
 trim(&#039;     Leerzeichen wurden entfernt      &#039;)   --&amp;gt; returns &#039;Leerzeichen wurden entfernt&#039;&lt;br /&gt;
 trim(&#039;   hello&#039;)   --&amp;gt; returns &#039;hello&#039;&lt;br /&gt;
&lt;br /&gt;
====Benutzung mit Variablen====&lt;br /&gt;
 trim(&#039;[pos=1]&#039;)&lt;br /&gt;
 trim(&#039;[var=a]&#039;)&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@Before&lt;br /&gt;
public void beforeTest() {&lt;br /&gt;
	fillInVariableMap.put(7, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;hello&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
	exerciseVariableMap.put(&amp;quot;g&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;hello&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testTrim1() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;hello&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;trim(&#039; hello&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testTrim2() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;hello&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;trim(&#039;hello &#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testTrim3() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;hello&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;trim(&#039; hello &#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testTrim4() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;hel lo&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;trim(&#039; hel lo &#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testTrimWithExpression1() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;w o r k&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;trim(trim(&#039; w o r k &#039;))&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testTrimWithExpression2() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;w o r k&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;trim(trim(trim(&#039; w o r k &#039;)))&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testTrimWithInput() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;hello&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;trim(&#039; [pos=7] &#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testTrimWithVariables() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;hello&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;trim(&#039; [var=g] &#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = ParserException.class)&lt;br /&gt;
public void testTrimWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;trim(ab)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testTrimWithTwoArguments() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;trim(&#039; a&#039;, &#039;a &#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testTrimWithThreeArguments() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;trim(&#039; a&#039;, &#039;a &#039;, &#039; a &#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testTrimWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;trim(&#039;[var=j]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testTrimWithMissingInput() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;trim(&#039;[pos=42]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
* Es werden keine Leerzeichen zwischen den Wörtern der Zeichenkette entfernt.&lt;br /&gt;
* &#039;&#039;&#039;Im Moment werden jedoch alle Leerzeichen entfernt!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=ToUpperCase&amp;diff=1835</id>
		<title>ToUpperCase</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=ToUpperCase&amp;diff=1835"/>
		<updated>2017-09-19T06:47:43Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;toUpperCase&#039;&#039; wandelt alle Buchstaben einer Zeichenkette in Großbuchstaben um. Die Funktion erwartet einen String und gibt einen String zurück.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 toUpperCase(String zeichenkette)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;zeichenkette&#039;&#039;&#039; - die Zeichenkette, in der alle Buchstaben in Großbuchstaben umgewandelt werden sollen&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt einen String zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
====Standardfälle====&lt;br /&gt;
 toUpperCase(&#039;ich bin klein&#039;)   --&amp;gt; returns &#039;ICH BIN KLEIN&#039;&lt;br /&gt;
 toUpperCase(&#039;abcdefghijklmnopqrstuvwxyz&#039;)   --&amp;gt; returns &#039;ABCDEFGHIJKLMNOPQRSTUVWXYZ&#039;&lt;br /&gt;
 toUpperCase(&#039;1234567890.!\&amp;quot;§$%&amp;amp;/()=?&#039;)   --&amp;gt; returns &#039;1234567890.!\&amp;quot;§$%&amp;amp;/()=?&#039;&lt;br /&gt;
&lt;br /&gt;
====Benutzung mit Variablen====&lt;br /&gt;
 toUpperCase(&#039;[pos=1]&#039;)&lt;br /&gt;
 toUpperCase(&#039;[var=a]&#039;)&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@Before&lt;br /&gt;
public void beforeTest() {&lt;br /&gt;
	fillInVariableMap.put(7, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;hello&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	fillInVariableMap.put(8, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;hello3&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
	exerciseVariableMap.put(&amp;quot;g&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;hello&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	exerciseVariableMap.put(&amp;quot;h&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;hello3&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToUpperCase1() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ&amp;quot;)), Evaluator&lt;br /&gt;
			.evaluate(&amp;quot;toUpperCase(&#039;ABCDEFGHIJKLMNOPQRSTUVWXYZ&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToUpperCase2() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;1234567890.!\&amp;quot;Â§$%&amp;amp;/()=?&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;toUpperCase(&#039;1234567890.!\&amp;quot;Â§$%&amp;amp;/()=?&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToUpperCase3() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ&amp;quot;)), Evaluator&lt;br /&gt;
			.evaluate(&amp;quot;toUpperCase(&#039;abcdefghijklmnopqrstuvwxyz&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToUpperCase4() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;toUpperCase(&#039;&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToUpperCase5() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot; &amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;toUpperCase(&#039; &#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToUpperCaseWithInput1() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;HELLO&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;toUpperCase(&#039;[pos=7]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToUpperCaseWithInput2() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;HELLO3&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;toUpperCase(&#039;[pos=8]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void TestToUpperCaseWithVariables1() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;HELLO&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;toUpperCase(&#039;[var=g]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void TestToUpperCaseWithVariables2() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;HELLO3&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;toUpperCase(&#039;[var=h]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToUpperCaseWithExpressions1() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;A&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;toUpperCase(toUpperCase(&#039;a&#039;))&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToUpperCaseWithExpressions2() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;A&amp;quot;)), Evaluator&lt;br /&gt;
			.evaluate(&amp;quot;toUpperCase(toUpperCase(toUpperCase(&#039;a&#039;)))&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = ParserException.class)&lt;br /&gt;
public void testToUpperCaseWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;toUpperCase(ab)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testToUpperCaseWithTwoArguments() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;toUpperCase(&#039;A&#039;, &#039;B&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testToUpperCaseWithThreeArguments() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;toUpperCase(&#039;A&#039;, &#039;B&#039;, &#039;C&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testToUpperCaseWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;toUpperCase(&#039;[var=j]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testToUpperCaseWithMissingInput() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;toUpperCase(&#039;[pos=42]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=ToRadian&amp;diff=1834</id>
		<title>ToRadian</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=ToRadian&amp;diff=1834"/>
		<updated>2017-09-19T06:47:18Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
Die Funktion &#039;&#039;toRadians&#039;&#039; wandelt Grad-Werte in Radiant um. Die Funktion erwartet einen Grad-Wert und gibt den entsprechenden Radiant zurück.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 toRadians(float grad)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;grad&#039;&#039;&#039; - der umzuwandelnde Grad-Wert&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
*Gibt den Grad-Wert als Radiant zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 toRadians(180)   --&amp;gt; returns 3.14159&lt;br /&gt;
 toRadians(360)   --&amp;gt; returns 6.28319&lt;br /&gt;
&lt;br /&gt;
==== Benutzung mit Variablen ====&lt;br /&gt;
 toRadians([pos=1])&lt;br /&gt;
 toRadians([var=a])&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
private static double PI = Math.PI;&lt;br /&gt;
&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	OMOBJ to180 = new OMOBJ();&lt;br /&gt;
	OMOBJ zero = new OMOBJ();&lt;br /&gt;
	to180.setOMI(OMCreator.createOMI(180));&lt;br /&gt;
	zero.setOMI(OMCreator.createOMI(0));&lt;br /&gt;
&lt;br /&gt;
	fillIn.put(1, to180);&lt;br /&gt;
	fillIn.put(2, zero);&lt;br /&gt;
&lt;br /&gt;
	exerVar.put(&amp;quot;a&amp;quot;, to180);&lt;br /&gt;
	exerVar.put(&amp;quot;b&amp;quot;, zero);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadians1() {&lt;br /&gt;
	assertEquals(PI, Evaluator.getNumberResult(&amp;quot;toRadians(180)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadians2() {&lt;br /&gt;
	assertEquals(2 * PI, Evaluator.getNumberResult(&amp;quot;toRadians(360)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadians3() {&lt;br /&gt;
	assertEquals(3 * PI, Evaluator.getNumberResult(&amp;quot;toRadians(540)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadians4() {&lt;br /&gt;
	assertEquals(PI / 2, Evaluator.getNumberResult(&amp;quot;toRadians(90)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadians5() {&lt;br /&gt;
	assertEquals(-PI, Evaluator.getNumberResult(&amp;quot;toRadians(-180)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadians6() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;toRadians(0)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadiansWithInput1() {&lt;br /&gt;
	assertEquals(PI, Evaluator.getNumberResult(&amp;quot;toRadians(&#039;[pos=1]&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadiansWithInput2() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;toRadians(&#039;[pos=2]&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadiansWithVariables1() {&lt;br /&gt;
	assertEquals(PI, Evaluator.getNumberResult(&amp;quot;toRadians(&#039;[var=a]&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadiansWithVariables2() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;toRadians(&#039;[var=b]&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadiansWithPointNumbers1() {&lt;br /&gt;
	assertEquals((PI * .2) / 180, Evaluator.getNumberResult(&amp;quot;toRadians(0.2)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadiansWithPointNumbers2() {&lt;br /&gt;
	assertEquals((-PI * .1) / 180, Evaluator.getNumberResult(&amp;quot;toRadians(-0.1)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadiansWithExpressions1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;toRadians(toRadians(0))&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadiansWithExpressions2() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;toRadians(toRadians(toRadians(0)))&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testToRadiansWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;toRadians(a)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testToRadiansWithTwoArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;toRadians(180, 90)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testToRadiansWithThreeArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;toRadians(45, 90, 180)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testToRadiansWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;toRadians(&#039;[var=j]&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testToRadiansWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;toRadians(&#039;[pos=42]&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=ToLowerCase&amp;diff=1833</id>
		<title>ToLowerCase</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=ToLowerCase&amp;diff=1833"/>
		<updated>2017-09-19T06:46:57Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;toLowerCase&#039;&#039; wandelt alle Buchstaben von a-z, A-Z einer Zeichenkette in Kleinbuchstaben um. Die Funktion erwartet einen String und gibt einen String zurück.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 toLowerCase(String zeichenkette)&lt;br /&gt;
&lt;br /&gt;
===Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;zeichenkette&#039;&#039;&#039; - die Zeichenkette, in der alle Buchstaben in Großbuchstaben umgewandelt werden sollen&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt einen String zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
====Standardfälle====&lt;br /&gt;
 toLowerCase(&#039;ICH BIN GROSS&#039;)   --&amp;gt; returns &#039;ich bin gross&#039;&lt;br /&gt;
 toLowerCase(&#039;ABCDEFGHIJKLMNOPQRSTUVWXYZ&#039;)   --&amp;gt; returns &#039;abcdefghijklmnopqrstuvwxyz&#039;&lt;br /&gt;
 toLowerCase(&#039;1234567890.!\&amp;quot;§$%&amp;amp;/()=?&#039;)   --&amp;gt; returns &#039;1234567890.!\&amp;quot;§$%&amp;amp;/()=?&#039;&lt;br /&gt;
&lt;br /&gt;
==== Benutzung mit Variablen ====&lt;br /&gt;
 toLowerCase(&#039;[pos=1]&#039;)&lt;br /&gt;
 toLowerCase(&#039;[var=a]&#039;)&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	&lt;br /&gt;
		fillInVariableMap.put(7, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;HELLO&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		fillInVariableMap.put(8, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;HELLO3&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;g&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;HELLO&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;h&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;HELLO3&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test public void testToLowerCase1() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;abcdefghijklmnopqrstuvwxyz&amp;quot;)), Evaluator.evaluate(&amp;quot;toLowerCase(&#039;ABCDEFGHIJKLMNOPQRSTUVWXYZ&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test public void testToLowerCase2() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;1234567890.!\&amp;quot;Â§$%&amp;amp;/()=?&amp;quot;)), Evaluator.evaluate(&amp;quot;toLowerCase(&#039;1234567890.!\&amp;quot;Â§$%&amp;amp;/()=?&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test public void testToLowerCase3() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;abcdefghijklmnopqrstuvwxyz&amp;quot;)), Evaluator.evaluate(&amp;quot;toLowerCase(&#039;abcdefghijklmnopqrstuvwxyz&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test public void testToLowerCase4() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;&amp;quot;)), Evaluator.evaluate(&amp;quot;toLowerCase(&#039;&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test public void testToLowerCase5() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot; &amp;quot;)), Evaluator.evaluate(&amp;quot;toLowerCase(&#039; &#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToLowerCaseWithInput1() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;hello&amp;quot;)), Evaluator.evaluate(&amp;quot;toLowerCase(&#039;[pos=7]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToLowerCaseWithInput2() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;hello3&amp;quot;)), Evaluator.evaluate(&amp;quot;toLowerCase(&#039;[pos=8]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void TestToLowerCaseWithVariables1() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;hello&amp;quot;)), Evaluator.evaluate(&amp;quot;toLowerCase(&#039;[var=g]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void TestToLowerCaseWithVariables2() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;hello3&amp;quot;)), Evaluator.evaluate(&amp;quot;toLowerCase(&#039;[var=h]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToLowerCaseWithExpressions1() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;a&amp;quot;)), Evaluator.evaluate(&amp;quot;toLowerCase(toLowerCase(&#039;A&#039;))&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToLowerCaseWithExpressions2() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;a&amp;quot;)), Evaluator.evaluate(&amp;quot;toLowerCase(toLowerCase(toLowerCase(&#039;A&#039;)))&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=ParserException.class)&lt;br /&gt;
public void testToLowerCaseWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;toLowerCase(ab)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testToLowerCaseWithTwoArguments() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;toLowerCase(&#039;A&#039;, &#039;B&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testToLowerCaseWithThreeArguments() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;toLowerCase(&#039;A&#039;, &#039;B&#039;, &#039;C&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testToLowerCaseWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;toLowerCase(&#039;[var=j]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=UndefinedFillInVariableException.class)&lt;br /&gt;
public void testToLowerCaseWithMissingInput() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;toLowerCase(&#039;[pos=42]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=ToLowerCase&amp;diff=1832</id>
		<title>ToLowerCase</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=ToLowerCase&amp;diff=1832"/>
		<updated>2017-09-19T06:46:33Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;toLowerCase&#039;&#039; wandelt alle Buchstaben von a-z, A-Z einer Zeichenkette in Kleinbuchstaben um. Die Funktion erwartet einen String und gibt einen String zurück.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 toLowerCase(String zeichenkette)&lt;br /&gt;
&lt;br /&gt;
===Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;zeichenkette&#039;&#039;&#039; - die Zeichenkette, in der alle Buchstaben in Großbuchstaben umgewandelt werden sollen&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt einen String zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
====Standardfälle====&lt;br /&gt;
 toLowerCase(&#039;ICH BIN GROSS&#039;)   --&amp;gt; returns &#039;ich bin gross&#039;&lt;br /&gt;
 toLowerCase(&#039;ABCDEFGHIJKLMNOPQRSTUVWXYZ&#039;)   --&amp;gt; returns &#039;abcdefghijklmnopqrstuvwxyz&#039;&lt;br /&gt;
 toLowerCase(&#039;1234567890.!\&amp;quot;§$%&amp;amp;/()=?&#039;)   --&amp;gt; returns &#039;1234567890.!\&amp;quot;§$%&amp;amp;/()=?&#039;&lt;br /&gt;
&lt;br /&gt;
==== Benutzung mit Variablen ====&lt;br /&gt;
 toLowerCase(&#039;[pos=1]&#039;)&lt;br /&gt;
 toLowerCase(&#039;[var=a]&#039;)&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
private static double PI = Math.PI;&lt;br /&gt;
&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	OMOBJ to180 = new OMOBJ();&lt;br /&gt;
	OMOBJ zero = new OMOBJ();&lt;br /&gt;
	to180.setOMI(OMCreator.createOMI(180));&lt;br /&gt;
	zero.setOMI(OMCreator.createOMI(0));&lt;br /&gt;
&lt;br /&gt;
	fillIn.put(1, to180);&lt;br /&gt;
	fillIn.put(2, zero);&lt;br /&gt;
&lt;br /&gt;
	exerVar.put(&amp;quot;a&amp;quot;, to180);&lt;br /&gt;
	exerVar.put(&amp;quot;b&amp;quot;, zero);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadians1() {&lt;br /&gt;
	assertEquals(PI, Evaluator.getNumberResult(&amp;quot;toRadians(180)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadians2() {&lt;br /&gt;
	assertEquals(2 * PI, Evaluator.getNumberResult(&amp;quot;toRadians(360)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadians3() {&lt;br /&gt;
	assertEquals(3 * PI, Evaluator.getNumberResult(&amp;quot;toRadians(540)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadians4() {&lt;br /&gt;
	assertEquals(PI / 2, Evaluator.getNumberResult(&amp;quot;toRadians(90)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadians5() {&lt;br /&gt;
	assertEquals(-PI, Evaluator.getNumberResult(&amp;quot;toRadians(-180)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadians6() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;toRadians(0)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadiansWithInput1() {&lt;br /&gt;
	assertEquals(PI, Evaluator.getNumberResult(&amp;quot;toRadians(&#039;[pos=1]&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadiansWithInput2() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;toRadians(&#039;[pos=2]&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadiansWithVariables1() {&lt;br /&gt;
	assertEquals(PI, Evaluator.getNumberResult(&amp;quot;toRadians(&#039;[var=a]&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadiansWithVariables2() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;toRadians(&#039;[var=b]&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadiansWithPointNumbers1() {&lt;br /&gt;
	assertEquals((PI * .2) / 180, Evaluator.getNumberResult(&amp;quot;toRadians(0.2)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadiansWithPointNumbers2() {&lt;br /&gt;
	assertEquals((-PI * .1) / 180, Evaluator.getNumberResult(&amp;quot;toRadians(-0.1)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadiansWithExpressions1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;toRadians(toRadians(0))&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToRadiansWithExpressions2() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;toRadians(toRadians(toRadians(0)))&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testToRadiansWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;toRadians(a)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testToRadiansWithTwoArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;toRadians(180, 90)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testToRadiansWithThreeArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;toRadians(45, 90, 180)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testToRadiansWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;toRadians(&#039;[var=j]&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testToRadiansWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;toRadians(&#039;[pos=42]&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=ToDegree&amp;diff=1831</id>
		<title>ToDegree</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=ToDegree&amp;diff=1831"/>
		<updated>2017-09-19T06:46:03Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
Die Funktion &#039;&#039;toDegrees&#039;&#039; wandelt Radiant-Werte in Grad um. Die Funktion erwartet einen Radiant und gibt den entsprechenden Grad zurück.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 toDegrees(float radiant)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;radiant&#039;&#039;&#039; - der umzuwandelnde Radiant-Wert&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
*Gibt den Radiant-Wert in Grad zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 toDegrees(3.14159)   --&amp;gt; returns 180&lt;br /&gt;
 toDegrees(6.28319)   --&amp;gt; returns 360&lt;br /&gt;
&lt;br /&gt;
==== Benutzung mit Variablen ====&lt;br /&gt;
 toDegrees([pos=1])&lt;br /&gt;
 toDegrees([var=a])&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	OMOBJ piFourth = new OMOBJ();&lt;br /&gt;
	OMOBJ piHalf = new OMOBJ();&lt;br /&gt;
	OMOBJ pi = new OMOBJ();&lt;br /&gt;
	OMOBJ twoPi = new OMOBJ();&lt;br /&gt;
	OMOBJ one = new OMOBJ();&lt;br /&gt;
	piFourth.setOMF(OMCreator.createOMF(PI / 4));&lt;br /&gt;
	piHalf.setOMF(OMCreator.createOMF(PI / 2));&lt;br /&gt;
	pi.setOMF(OMCreator.createOMF(PI));&lt;br /&gt;
	twoPi.setOMF(OMCreator.createOMF(2 * PI));&lt;br /&gt;
	one.setOMI(OMCreator.createOMI(1));&lt;br /&gt;
&lt;br /&gt;
	fillIn.put(45, piFourth);&lt;br /&gt;
	fillIn.put(90, piHalf);&lt;br /&gt;
	fillIn.put(1, one);&lt;br /&gt;
&lt;br /&gt;
	exerVar.put(&amp;quot;degc&amp;quot;, pi);&lt;br /&gt;
	exerVar.put(&amp;quot;degd&amp;quot;, twoPi);&lt;br /&gt;
	exerVar.put(&amp;quot;b&amp;quot;, one);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToDegrees1() {&lt;br /&gt;
	assertEquals(540, Evaluator.getNumberResult(&amp;quot;toDegrees(&amp;quot; + 3 * PI + &amp;quot;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToDegrees2() {&lt;br /&gt;
	assertEquals(360, Evaluator.getNumberResult(&amp;quot;toDegrees(&amp;quot; + 2 * PI + &amp;quot;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToDegrees3() {&lt;br /&gt;
	assertEquals(180, Evaluator.getNumberResult(&amp;quot;toDegrees(&amp;quot; + PI + &amp;quot;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToDegrees4() {&lt;br /&gt;
	assertEquals(-180, Evaluator.getNumberResult(&amp;quot;toDegrees(&amp;quot; + -PI + &amp;quot;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToDegrees5() {&lt;br /&gt;
	assertEquals(90, Evaluator.getNumberResult(&amp;quot;toDegrees(&amp;quot; + PI / 2 + &amp;quot;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToDegrees6() {&lt;br /&gt;
	assertEquals(45, Evaluator.getNumberResult(&amp;quot;toDegrees(&amp;quot; + PI / 4 + &amp;quot;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToDegrees7() {&lt;br /&gt;
	assertEquals(180 / PI, Evaluator.getNumberResult(&amp;quot;toDegrees(1)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToDegreesWithInput1() {&lt;br /&gt;
	assertEquals(90, Evaluator.getNumberResult(&amp;quot;toDegrees(&#039;[pos=90]&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToDegreesWithInput2() {&lt;br /&gt;
	assertEquals(45, Evaluator.getNumberResult(&amp;quot;toDegrees(&#039;[pos=45]&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToDegreesWithInput3() {&lt;br /&gt;
	assertEquals(180 / PI, Evaluator.getNumberResult(&amp;quot;toDegrees(&#039;[pos=1]&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToDegreesWithVariables1() {&lt;br /&gt;
	assertEquals(360, Evaluator.getNumberResult(&amp;quot;toDegrees(&#039;[var=degd]&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToDegreesWithVariables2() {&lt;br /&gt;
	assertEquals(180, Evaluator.getNumberResult(&amp;quot;toDegrees(&#039;[var=degc]&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToDegreesWithVariables3() {&lt;br /&gt;
	assertEquals(180 / PI, Evaluator.getNumberResult(&amp;quot;toDegrees(&#039;[var=b]&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToDegreesWithVariables4() {&lt;br /&gt;
	assertEquals(180, Evaluator.getNumberResult(&amp;quot;toDegrees(&#039;[var=PI]&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToDegreesWithPointNumbers1() {&lt;br /&gt;
	assertEquals(.2 * 180 / (PI), Evaluator.getNumberResult(&amp;quot;toDegrees(0.2)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToDegreesWithPointNumbers2() {&lt;br /&gt;
	assertEquals(.1 * 180 / (-PI), Evaluator.getNumberResult(&amp;quot;toDegrees(-0.1)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToDegreesWithExpressions1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;toDegrees(toDegrees(0))&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testToDegreesWithExpressions2() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;toDegrees(toDegrees(toDegrees(0)))&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testToDegreesWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;toDegrees(a)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testToDegreesWithTwoArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;toDegrees(4, 3)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testToDegreesWithThreeArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;toDegrees(2, 3, 4)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testToDegreesWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;toDegrees(&#039;[var=j]&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testToDegreesWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;toDegrees(&#039;[pos=42]&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Tan&amp;diff=1830</id>
		<title>Tan</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Tan&amp;diff=1830"/>
		<updated>2017-09-19T06:45:42Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
Der Tangens wird durch die Funktion &#039;&#039;tan&#039;&#039; beschrieben. Sie erwartet einen Parameter und gibt einen Wert zurück.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 tan(String zeichenkette)&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;zeichenkette&#039;&#039;&#039; - ein Wert im Bogenmaß&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt den Wert des Tangens an der Stelle zurück.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 tan(&#039;Pi/4&#039;)    --&amp;gt; returns 1&lt;br /&gt;
&lt;br /&gt;
 tan(&#039;0&#039;)    --&amp;gt; 0&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	fillInVariableMap.put(2, OMCreator.createOMOBJ(OMSymbol.NUMS1_PI));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testTan1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;tan(&#039;0&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testTan2() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;tan(&#039;[var=PI]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testTan3() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;tan(&#039;-[var=PI]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testTan4() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;tan(&#039;[var=PI]/4&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testTan5() {&lt;br /&gt;
	assertEquals(-1, Evaluator.getNumberResult(&amp;quot;tan(&#039;-[var=PI]/4&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testTanWithInput1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;tan(&#039;[pos=1]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testTanWithInput2() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;tan(&#039;[pos=2]/4&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testTanWithVariables1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;tan(&#039;[var=a]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testTanWithVariables2() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;tan(&#039;[var=PI]/4&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001); // Rounding&lt;br /&gt;
																														// Error&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testTanWithExpressions1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;tan(tan(0))&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testTanWithExpressions2() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;tan(tan(tan(0)))&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testTanWithONECharacter() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;tan(a)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testTanWithEmptyStringArgument() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;tan(&#039;&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testTanWithEmptyArgument() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;tan()&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testTanWithoutExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;tan(&#039;[var=j]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testTanWithoutInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;tan(&#039;[pos=42]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
* Berechnet nur den Tangens mit Werten im Bogenmaß. Der Gradmaß muss ggf. vorher umgewandelt werden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Substring&amp;diff=1828</id>
		<title>Substring</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Substring&amp;diff=1828"/>
		<updated>2017-09-19T06:43:38Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;Substring&#039;&#039; gibt anhand des Anfangs- und der Endposition eine Zeichenkette aus einer übergebenen Zeichenkette zurück. Die Funktion erwartet einen Zeichenkette aus der eine Zeichenkette extrahiert werden soll und jeweils eine Zahl für die Anfangs- und die Endposition. Die Werte der Positionen dürfen nicht geringer als 0 und nicht größer als die Länge der übergebenen Zeichenkette sein. Es wird die extrahierte Zeichenkette zurück gegeben.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 substring(String zeichenkette, int anfangsPosition, int endPosition)&lt;br /&gt;
&lt;br /&gt;
===Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;zeichenkette&#039;&#039;&#039; - die Zeichenkette aus der eine Zeichenkette extrahiert werde soll.&lt;br /&gt;
* &#039;&#039;&#039;anfangsPosition&#039;&#039;&#039; - die Position des ersten Zeichens in der Zeichenkette, ab dem extrahiert werden soll.&lt;br /&gt;
* &#039;&#039;&#039;endPosition&#039;&#039;&#039; - die Position+1 des letzten Zeichen, bis zu dem extrahiert werden soll.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt einen String zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
====Standardfälle====&lt;br /&gt;
 substring(&#039;hello world&#039;,0,5)   --&amp;gt; returns &#039;hello&#039;&lt;br /&gt;
 substring(&#039;hello world&#039;,6,11)   --&amp;gt; returns &#039;world&#039;&lt;br /&gt;
 &lt;br /&gt;
==== Benutzung mit Variablen ====&lt;br /&gt;
 substring(&#039;[pos=1]&#039;,0,5)&lt;br /&gt;
 substring(&#039;[var=a]&#039;,6,11)&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	&lt;br /&gt;
		fillInVariableMap.put(7, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;helloworld&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		fillInVariableMap.put(8, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;0&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		fillInVariableMap.put(9, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;5&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;suba&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;helloworld&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;g&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;0&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;h&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;5&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSubstring1() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;hello&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;substring(&#039;hello world&#039;, 0, 5)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSubstring2() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;world&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;substring(&#039;hello world&#039;, 6, 11)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSubstring3() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot; &amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;substring(&#039;hello world&#039;, 5, 6)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSubstring4() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;a&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;substring(&#039;abcde&#039;, 0, 1)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSubstring5() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;e&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;substring(&#039;abcde&#039;, 4, 5)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSubstring6() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;substring(&#039;abcde&#039;, 4, 4)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSubstring7() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;e&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;substring(&#039;abcde&#039;, 4.0, 5)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSubstringWithInput1() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;orld&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;substring(&#039;[pos=7]&#039;, 6, 10)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSubstringWithInput2() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;a&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;substring(&#039;abcde&#039;, [pos=8], 1)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSubstringWithInput3() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;e&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;substring(&#039;abcde&#039;, 4, [pos=9])&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSubstringWithVariables1() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;orld&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;substring(&#039;[var=suba]&#039;, 6, 10)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSubstringWithVariables2() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;a&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;substring(&#039;abcde&#039;, [var=g], 1)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSubstringWithVariables3() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;e&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;substring(&#039;abcde&#039;, 4, [var=h])&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentException.class)&lt;br /&gt;
public void testSubstringWithWrongInputSecondAndThirdArgument() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;substring(&#039;hello&#039;, -1, 6)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testSubstringWithWrongInputSecondArgumentAsPointNumber() {&lt;br /&gt;
	OMSTR result = Evaluator.evaluate(&amp;quot;substring(&#039;hello&#039;, 1.3, 2)&amp;quot;, exerciseVariableMap, fillInVariableMap).getOMSTR();&lt;br /&gt;
	assertEquals(&amp;quot;&amp;lt;OMSTR&amp;gt;e&amp;lt;/OMSTR&amp;gt;&amp;quot;,result.toString());&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testSubstringWithWrongInputThirdArgumentAsPointNumber() {&lt;br /&gt;
	OMSTR result = Evaluator.evaluate(&amp;quot;substring(&#039;hello&#039;, 1, 2.9)&amp;quot;, exerciseVariableMap, fillInVariableMap).getOMSTR();&lt;br /&gt;
	assertEquals(&amp;quot;&amp;lt;OMSTR&amp;gt;e&amp;lt;/OMSTR&amp;gt;&amp;quot;,result.toString());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = ParserException.class)&lt;br /&gt;
public void testSubstringWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;substring(ab, ab, ab)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testSubstringWithOneArgument() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;substring(&#039;hello&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSubstringWithTwoArguments() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;llo&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;substring(&#039;hello&#039;, 2)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testSubstringWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;substring(&#039;[var=j]&#039;, &#039;[var=j]&#039;, &#039;[var=j]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testSubstringWithMissingInput() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;substring(&#039;[pos=42]&#039;, &#039;[pos=42]&#039;, &#039;[pos=42]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
* Die Position 0 ist das erste Zeichen, nicht Position 1&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=StartsWith&amp;diff=1827</id>
		<title>StartsWith</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=StartsWith&amp;diff=1827"/>
		<updated>2017-09-19T06:43:15Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;StartsWith&#039;&#039; prüft, ob eine Zeichenkette ab einer bestimmten Position mit einer bestimmen Zeichenkette anfängt. Die Funktion erwartet eine zu prüfende Zeichenkette, eine Zeichenkette die gesucht wird und eine Position, ab der geprüft werden soll. Fängt an der gegebenen Position die gesuchte Zeichenkette in der zu prüfenden Zeichenkette an, liefert die Funktion true zurück, ansonsten false&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 startsWith(String zeichenkette, String gesuchterString, String startPosition)&lt;br /&gt;
&lt;br /&gt;
===Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;zeichenkette&#039;&#039;&#039; - die Zeichenkette, die geprüft werden soll,&lt;br /&gt;
* &#039;&#039;&#039;gesuchterString&#039;&#039;&#039; - die Zeichenkette, auf dessen vorkommen geprüft wird,&lt;br /&gt;
* &#039;&#039;&#039;startPosition&#039;&#039;&#039; - der Postion ab der überprüft wird&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt einen Boolean-Wert zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
====Standardfälle====&lt;br /&gt;
 startsWith(&#039;hello&#039;,&#039;he&#039;,0)   --&amp;gt; returns true&lt;br /&gt;
 startsWith(&#039;hier klappt es nicht&#039;,&#039;hello&#039;,10)   --&amp;gt; returns false&lt;br /&gt;
==== Benutzung mit Variablen ====&lt;br /&gt;
 startsWith(&#039;[pos=1]&#039;,&#039;test&#039;,0)&lt;br /&gt;
 startsWith(&#039;[var=a]&#039;,&#039;o&#039;,4)&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	&lt;br /&gt;
		fillInVariableMap.put(7, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;ll&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		fillInVariableMap.put(8, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;0&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		fillInVariableMap.put(9, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;hello&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;g&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;0&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;ll&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;ll&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;hello&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;hello&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testStartsWith1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;startsWith(&#039;hello&#039;,&#039;he&#039;,0)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testStartsWith2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;startsWith(&#039;hello&#039;,&#039;ll&#039;,2)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testStartsWith3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;startsWith(&#039;hello&#039;,&#039;o&#039;,4)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testStartsWith4() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;startsWith(&#039;hello&#039;,&#039;ll&#039;,0)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testStartsWith5() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;startsWith(&#039;&#039;,&#039;&#039;,0)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testStartsWith6() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;startsWith(&#039;&#039;,&#039; &#039;,0)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testStartsWithInput1() {&lt;br /&gt;
	assertTrue(&lt;br /&gt;
			Evaluator.getBooleanResult(&amp;quot;startsWith(&#039;hello&#039;,&#039;he&#039;,[pos=8])&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testStartsWithInput2() {&lt;br /&gt;
	assertTrue(&lt;br /&gt;
			Evaluator.getBooleanResult(&amp;quot;startsWith(&#039;hello&#039;,&#039;[pos=7]&#039;,2)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testStartsWithInput3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;startsWith(&#039;[pos=9]&#039;,&#039;o&#039;,4)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testStartsWithVariables1() {&lt;br /&gt;
	assertTrue(&lt;br /&gt;
			Evaluator.getBooleanResult(&amp;quot;startsWith(&#039;hello&#039;,&#039;he&#039;,[var=g])&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testStartsWithVariables2() {&lt;br /&gt;
	assertTrue(&lt;br /&gt;
			Evaluator.getBooleanResult(&amp;quot;startsWith(&#039;hello&#039;,&#039;[var=ll]&#039;,2)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testStartsWithVariables3() {&lt;br /&gt;
	assertTrue(&lt;br /&gt;
			Evaluator.getBooleanResult(&amp;quot;startsWith(&#039;[var=hello]&#039;,&#039;o&#039;,4)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = ParserException.class)&lt;br /&gt;
public void testStartsWithWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;startsWith(ab)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testStartsWithWithOneArgument() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;startsWith(&#039;hello&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testStartsWithWithTwoArguments() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;startsWith(&#039;hello&#039;, &#039;he&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testStartsWithWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;startsWith(&#039;[var=j]&#039;, &#039;[var=j]&#039;, &#039;[var=j]&#039;)&amp;quot;, exerciseVariableMap,&lt;br /&gt;
			fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testStartsWithWithMissingInput() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;startsWith(&#039;[pos=42]&#039;, &#039;[pos=42]&#039;, &#039;[pos=42]&#039;)&amp;quot;, exerciseVariableMap,&lt;br /&gt;
			fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Sin&amp;diff=1826</id>
		<title>Sin</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Sin&amp;diff=1826"/>
		<updated>2017-09-19T06:42:44Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
Der Sinus wird durch die &#039;&#039;sin&#039;&#039;-Funktion beschrieben. Sie erwartet einen Parameter und gibt einen Wert zurück.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 sin(String zeichenkette)&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;zeichenkette&#039;&#039;&#039; - ein Wert im Bogenmaß&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Der Rückgabewert der Sinusfunktion.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 sin(&#039;Pi&#039;)    --&amp;gt; returns 0&lt;br /&gt;
&lt;br /&gt;
 sin(&#039;Pi/2&#039;)    --&amp;gt; returns 1&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	fillInVariableMap.put(2, OMCreator.createOMOBJ(OMSymbol.NUMS1_PI));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSin1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;sin(&#039;0&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSin2() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;sin(&#039;[var=PI]/2&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSin3() {&lt;br /&gt;
	assertEquals(-1, Evaluator.getNumberResult(&amp;quot;sin(&#039;-[var=PI]/2&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSin4() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;sin(&#039;[var=PI]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSin5() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;sin(&#039;-[var=PI]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSinWithInput1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;sin(&#039;[pos=1]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSinWithInput2() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;sin(&#039;[pos=2]/2&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSinWithVariables1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;sin(&#039;[var=a]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSinWithVariables2() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;sin(&#039;[var=PI]/2&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSinWithExpressions1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;sin(sin(0))&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testSinWithExpressions2() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;sin(sin(sin(0)))&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testSinWithONECharacter() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;sin(a)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testSinWithEmptyStringArgument() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;sin(&#039;&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testSinWithEmptyArgument() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;sin()&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testSinWithoutExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;sin(&#039;[var=j]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testSinWithoutInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;sin(&#039;[pos=42]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
* Die Funktion braucht den Wert im Bogenmaß, ggf. muss man den Gradmaß vorher umrechnen.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Set&amp;diff=1825</id>
		<title>Set</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Set&amp;diff=1825"/>
		<updated>2017-09-19T06:42:20Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
Die Funktion &#039;&#039;set&#039;&#039; bekommt als Eingabe Mengenelemente und gibt diese als OpenMathObject zurück.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
  set(string argument, string argument, ...)&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;argument&#039;&#039;&#039; - beliebig viele strings für die einzelnen Mengenelemente&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt die Menge als OpenMathObject zurück&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
  set(vector(1,1),vector(1,2))    --&amp;gt; &amp;lt;OMOBJ&amp;gt;&amp;lt;OMA&amp;gt;&amp;lt;OMS cd=&amp;quot;list1&amp;quot; name=&amp;quot;list&amp;quot;/&amp;gt;&amp;lt;OMA&amp;gt;&amp;lt;OMS cd=&amp;quot;linalg2&amp;quot; name=&amp;quot;vector&amp;quot;/&amp;gt;&amp;lt;OMI&amp;gt;1&amp;lt;/OMI&amp;gt;&amp;lt;OMI&amp;gt;1&amp;lt;/OMI&amp;gt;&amp;lt;/OMA&amp;gt;&amp;lt;OMA&amp;gt;&amp;lt;OMS cd=&amp;quot;linalg2&amp;quot; name=&amp;quot;vector&amp;quot;/&amp;gt;&amp;lt;OMI&amp;gt;1&amp;lt;/OMI&amp;gt;&amp;lt;OMI&amp;gt;2&amp;lt;/OMI&amp;gt;&amp;lt;/OMA&amp;gt;&amp;lt;/OMA&amp;gt;&amp;lt;/OMOBJ&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\{ \begin{pmatrix} 1 \\ 1 \end{pmatrix} , \begin{pmatrix} 1 \\ 2 \end{pmatrix} \}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@Test&lt;br /&gt;
public void testSet() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;set(vector(1,1), vector(1,2))&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;set(vector(1,1), vector(1,2))&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
* Die Funktion setzt eine Menge von Elementen in die OpenMath schreibweise.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Round&amp;diff=1824</id>
		<title>Round</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Round&amp;diff=1824"/>
		<updated>2017-09-19T06:40:34Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
Die Funktion &#039;&#039;round&#039;&#039; rundet eine Gleitkommazahl zu einer Ganzzahl. Die Funktion erwartet eine Zahl und gibt die nächst gelegene Ganzzahl zurück.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 round(float zahl)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;zahl&#039;&#039;&#039; - die zu rundene Zahl&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
*Gibt die gerundete Ganzzahl zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 round(12.4)   --&amp;gt; returns 12&lt;br /&gt;
 round(15.678)   --&amp;gt; returns 16&lt;br /&gt;
&lt;br /&gt;
==== Benutzung mit Variablen ====&lt;br /&gt;
 round([pos=1])&lt;br /&gt;
 round([var=a])&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	OMOBJ nineThree = new OMOBJ();&lt;br /&gt;
	OMOBJ threeFive = new OMOBJ();&lt;br /&gt;
	nineThree.setOMF(OMCreator.createOMF(93.49999));&lt;br /&gt;
	threeFive.setOMF(OMCreator.createOMF(3.5));&lt;br /&gt;
&lt;br /&gt;
	fillIn.put(4, threeFive);&lt;br /&gt;
	fillIn.put(93, nineThree);&lt;br /&gt;
&lt;br /&gt;
	exerVar.put(&amp;quot;a&amp;quot;, threeFive);&lt;br /&gt;
	exerVar.put(&amp;quot;b&amp;quot;, nineThree);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRound1() {&lt;br /&gt;
	assertEquals(6, Evaluator.getNumberResult(&amp;quot;round(6.3)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRound2() {&lt;br /&gt;
	assertEquals(93, Evaluator.getNumberResult(&amp;quot;round(93.49999)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRound3() {&lt;br /&gt;
	assertEquals(94, Evaluator.getNumberResult(&amp;quot;round(93.50001)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRound4() {&lt;br /&gt;
	assertEquals(-93, Evaluator.getNumberResult(&amp;quot;round(-93.49999)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRound5() {&lt;br /&gt;
	assertEquals(-94, Evaluator.getNumberResult(&amp;quot;round(-93.50001)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRound6() {&lt;br /&gt;
	assertEquals(4, Evaluator.getNumberResult(&amp;quot;round(3.5)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRound7() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;round(2.5)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRoundWithInput1() {&lt;br /&gt;
	assertEquals(4, Evaluator.getNumberResult(&amp;quot;round([pos=4])&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRoundWithInput2() {&lt;br /&gt;
	assertEquals(93, Evaluator.getNumberResult(&amp;quot;round([pos=93])&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRoundWithVariable1() {&lt;br /&gt;
	assertEquals(4, Evaluator.getNumberResult(&amp;quot;round([var=a])&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRoundWithVariable2() {&lt;br /&gt;
	assertEquals(93, Evaluator.getNumberResult(&amp;quot;round([var=b])&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRoundWithPointNumbers1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;round(0.2)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRoundWithPointNumbers2() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;round(-0.2)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRoundWithExpressions1() {&lt;br /&gt;
	assertEquals(-2, Evaluator.getNumberResult(&amp;quot;round(round(-2.2))&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRoundWithExpressions2() {&lt;br /&gt;
	assertEquals(2, Evaluator.getNumberResult(&amp;quot;round(round(round(2.1)))&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testRoundWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;round(a)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testRoundWithTwoArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;round(1.2, 1.3)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testRoundWithThreeArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;round(2.1, 2.2, 2.3)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testRoundWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;round(&#039;[var=j]&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testRoundWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;round(&#039;[pos=42]&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Rint&amp;diff=1823</id>
		<title>Rint</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Rint&amp;diff=1823"/>
		<updated>2017-09-19T06:40:12Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
Die Funktion &#039;&#039;rint&#039;&#039; ermittelt eine Ganzzahl, die am nächsten an der übergebenen Zahl liegt. Die Funktion erwartet eine Zahl und gibt die nächst gelegenen Ganzzahl zurück&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 rint(float zahl)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;zahl&#039;&#039;&#039; - die Zahl, zu der die naheliegenste Ganzzahl ermittelt werden soll&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
*Gibt die naheliegenste Ganzzahl zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 rint(12.4)   --&amp;gt; returns 12&lt;br /&gt;
 rint(15.678)   --&amp;gt; returns 16&lt;br /&gt;
&lt;br /&gt;
==== Benutzung mit Variablen ====&lt;br /&gt;
 rint([pos=1])&lt;br /&gt;
 rint([var=a])&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	OMOBJ obj1 = new OMOBJ();&lt;br /&gt;
	OMOBJ obj2 = new OMOBJ();&lt;br /&gt;
	OMOBJ obj3 = new OMOBJ();&lt;br /&gt;
	OMOBJ obj4 = new OMOBJ();&lt;br /&gt;
	obj1.setOMF(OMCreator.createOMF(50.33333));&lt;br /&gt;
	obj2.setOMF(OMCreator.createOMF(99.993444));&lt;br /&gt;
	obj3.setOMF(OMCreator.createOMF(5.49999));&lt;br /&gt;
	obj4.setOMF(OMCreator.createOMF(1233.511111));&lt;br /&gt;
&lt;br /&gt;
	fillIn.put(5, obj3);&lt;br /&gt;
	fillIn.put(1234, obj4);&lt;br /&gt;
&lt;br /&gt;
	exerVar.put(&amp;quot;f1&amp;quot;, obj1);&lt;br /&gt;
	exerVar.put(&amp;quot;h&amp;quot;, obj2);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRint1() {&lt;br /&gt;
	assertEquals(12, Evaluator.getNumberResult(&amp;quot;rint(12.4999)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRint2() {&lt;br /&gt;
	assertEquals(13, Evaluator.getNumberResult(&amp;quot;rint(12.500001)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRint3() {&lt;br /&gt;
	assertEquals(12, Evaluator.getNumberResult(&amp;quot;rint(12.5)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRint4() {&lt;br /&gt;
	assertEquals(14, Evaluator.getNumberResult(&amp;quot;rint(13.5)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRint5() {&lt;br /&gt;
	assertEquals(-99, Evaluator.getNumberResult(&amp;quot;rint(-99.4999)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRint6() {&lt;br /&gt;
	assertEquals(-100, Evaluator.getNumberResult(&amp;quot;rint(-99.5999)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRint7() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;rint(-0.00001)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRint8() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;rint(0.00001)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRintWithInput1() {&lt;br /&gt;
	assertEquals(5, Evaluator.getNumberResult(&amp;quot;rint([pos=5])&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRintWithInput2() {&lt;br /&gt;
	assertEquals(1234, Evaluator.getNumberResult(&amp;quot;rint([pos=1234])&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRintWithVariables1() {&lt;br /&gt;
	assertEquals(50, Evaluator.getNumberResult(&amp;quot;rint([var=f1])&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRintWithVariables2() {&lt;br /&gt;
	assertEquals(100, Evaluator.getNumberResult(&amp;quot;rint([var=h])&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRintWithPointNumbers1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;rint(0.2)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRintWithPointNumbers2() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;rint(-0.2)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRintWithExpressions1() {&lt;br /&gt;
	assertEquals(-2, Evaluator.getNumberResult(&amp;quot;rint(rint(-2.2))&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRintWithExpressions2() {&lt;br /&gt;
	assertEquals(2, Evaluator.getNumberResult(&amp;quot;rint(rint(rint(2.1)))&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testRintWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;rint(a)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testRintWithTwoArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;rint(4.2, 3.1)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testRintWithThreeArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;rint(2.1, 2.2, 2.3)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testRintWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;rint(&#039;[var=j]&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testRintWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;rint(&#039;[pos=42]&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Replace&amp;diff=1822</id>
		<title>Replace</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Replace&amp;diff=1822"/>
		<updated>2017-09-19T06:39:50Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;replace&#039;&#039; ersetzt alle entsprechenden Zeichen einer Zeichenkette durch ein angegebenes Zeichen. Die Funktion benötigt eine Zeichenkette, ein zu ersetzendes Zeichen und ein Zeichen, durch das alle zu ersetzende Zeichen in der Zeichenkette ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 replace(String zeichenkette, Char zeichen, Char austauschZeichen)&lt;br /&gt;
&lt;br /&gt;
===Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;zeichenkette&#039;&#039;&#039; - die Zeichenkette, in der Zeichen ausgetausch werden sollen&lt;br /&gt;
* &#039;&#039;&#039;zeichen&#039;&#039;&#039; - das Zeichen, das ausgetauscht werden soll&lt;br /&gt;
* &#039;&#039;&#039;austauschZeichen&#039;&#039;&#039; - das Zeichen, durch das die anderen ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt einen String zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
====Standardfälle====&lt;br /&gt;
 replace(&#039;Hello  World! &#039;,&#039; &#039;,&#039;$&#039;)   --&amp;gt; returns &#039;Hello$$World!$&#039; &lt;br /&gt;
 replace(&#039;Have a!nice day!&#039;,&#039;!&#039;,&#039; &#039;)   --&amp;gt; returns &#039;Have a nice day &#039;&lt;br /&gt;
&lt;br /&gt;
==== Benutzung mit Variablen ====&lt;br /&gt;
 repalce(&#039;[pos=1]&#039;,&#039;a&#039;,&#039;t&#039;)&lt;br /&gt;
 replace(&#039;Hallo&#039;,&#039;[var=a]&#039;,&#039;a&#039;)&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	&lt;br /&gt;
		fillInVariableMap.put(7, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;HaveQaQniceQday&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		fillInVariableMap.put(8, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;a&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		fillInVariableMap.put(9, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;b&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;g&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;HaveQaQniceQday&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;h&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;a&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;i&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;b&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testReplace1() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;Hello$$World!$&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;replace(&#039;Hello  World! &#039;, &#039; &#039;, &#039;$&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testReplace2() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;Have a nice day &amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;replace(&#039;Have a nice day!&#039;, &#039;!&#039;, &#039; &#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testReplace3() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;1010101&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;replace(&#039;a0a0a0a&#039;, &#039;a&#039;, &#039;1&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testReplace4() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;`0`0`0`&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;replace(&#039;a0a0a0a&#039;, &#039;a&#039;, &#039;`&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testReplaceWithInput1() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;Have a nice day&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;replace(&#039;[pos=7]&#039;, &#039;Q&#039;, &#039; &#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testReplaceWithInput2() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;H veQ QniceQd y&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;replace(&#039;[pos=7]&#039;, &#039;[pos=8]&#039;, &#039; &#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testReplaceWithInput3() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;HbveQbQniceQdby&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;replace(&#039;[pos=7]&#039;, &#039;[pos=8]&#039;, &#039;[pos=9]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testReplaceWithVariables1() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;Have a nice day&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;replace(&#039;[var=g]&#039;, &#039;Q&#039;, &#039; &#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testReplaceWithVariables2() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;H veQ QniceQd y&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;replace(&#039;[var=g]&#039;, &#039;[var=h]&#039;, &#039; &#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testReplaceWithVariables3() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;HbveQbQniceQdby&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;replace(&#039;[var=g]&#039;, &#039;[var=h]&#039;, &#039;[var=i]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testReplaceWithCharacterMaxMinValue1() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;&amp;quot; + cMax + &amp;quot;0&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;replace(&#039;a0&#039;, &#039;a&#039;, &#039;&amp;quot; + cMax + &amp;quot;&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testReplaceWithCharacterMaxMinValue2() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;&amp;quot; + cMin + &amp;quot;0&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;replace(&#039;a0&#039;, &#039;a&#039;, &#039;&amp;quot; + cMin + &amp;quot;&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testReplaceWithWrongInputSecondArgumentEmpty() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;aaaaa&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;replace(&#039;aa&#039;, &#039;&#039;, &#039;a&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testReplaceWithThirdArgumentEmpty() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;a&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;replace(&#039;a &#039;, &#039; &#039;, &#039;&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = ParserException.class)&lt;br /&gt;
public void testReplaceWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;replace(ab, ab, ab)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testReplaceWithOneArgument() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;replace(&#039;a&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testReplaceWithTwoArguments() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;replace(&#039;a&#039;, &#039;b&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testReplaceWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;replace(&#039;[var=j]&#039;, &#039;[var=j]&#039;, &#039;[var=j]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testReplaceWithMissingInput() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;replace(&#039;[pos=42]&#039;, &#039;[pos=42]&#039;, &#039;[pos=42]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=RandomMatrixRank&amp;diff=1821</id>
		<title>RandomMatrixRank</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=RandomMatrixRank&amp;diff=1821"/>
		<updated>2017-09-19T06:39:20Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
Die Funktion &#039;&#039;randomMatrixRank&#039;&#039; erzeugt zufällig eine Matrix in dem angegebenen Zahlenraum, der angegebenen Anzahl der Zeilen und Spalten, den angegebenen Rang und (optional) der angegebenen oberen Grenze für die Einträge.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 randomMatrixRank(String matrix, String zahl1, String zahl2, String zahl3, String zahl4)&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;matrix&#039;&#039;&#039; - Gibt an in welchen Zahlenraum die Matrix sein soll, z.B. &#039;ZZ&#039; für ganze Zahlen und &#039;QQ&#039; für rationale Zahlen.&lt;br /&gt;
* &#039;&#039;&#039;zahl1&#039;&#039;&#039; - Gibt die Anzahl der Zeilen n der nxm-Matrix an.&lt;br /&gt;
* &#039;&#039;&#039;zahl2&#039;&#039;&#039; - Gibt die Anzahl der Spalten m der nxm-Matrix an.&lt;br /&gt;
* &#039;&#039;&#039;zahl3&#039;&#039;&#039; - Gibt den Rang der Matrix an. Der Wert muss kleiner gleich m und n sein.&lt;br /&gt;
* &#039;&#039;&#039;zahl4&#039;&#039;&#039; - Gibt die obere Grenze für die Einträge an (optional), Beispiel: 10 -&amp;gt; [-10,10].&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt die Matrix als OpenMathObject zurück.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 randomMatrixRank(&#039;QQ&#039;,&#039;2&#039;,&#039;2&#039;,&#039;2&#039;)&lt;br /&gt;
&lt;br /&gt;
 randomMatrixRank(&#039;QQ&#039;,&#039;3&#039;,&#039;4&#039;,&#039;3&#039;,&#039;7&#039;)&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	&lt;br /&gt;
		randomMatrixRankFillInVariableMap.put(1, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;3&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
		randomMatrixRankExerciseVariableMap.put(&amp;quot;a&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;3&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRandomMatrixEigenValue1() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;randomMatrixRank(&#039;QQ&#039;, &#039;3&#039;, &#039;2&#039;, &#039;2&#039;)&amp;quot;, randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRandomMatrixEigenValue2() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;randomMatrixRank(&#039;QQ&#039;, &#039;3&#039;, &#039;3&#039;, &#039;1&#039;)&amp;quot;, randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRandomMatrixEigenValue3() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;randomMatrixRank(&#039;ZZ&#039;, &#039;2&#039;, &#039;2&#039;, &#039;1&#039;, &#039;2&#039;)&amp;quot;, randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRandomMatrixEigenValueWithInput() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;randomMatrixRank(&#039;QQ&#039;, &#039;[pos=1]&#039;, &#039;2&#039;, &#039;2&#039;)&amp;quot;, randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRandomMatrixEigenValueWithVariables() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;randomMatrixRank(&#039;QQ&#039;, &#039;[var=a]&#039;, &#039;2&#039;, &#039;2&#039;)&amp;quot;, randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = ParserException.class)&lt;br /&gt;
public void testRandomMatrixEigenValueWithONECharacter() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;randomMatrixRank(ab, ab, ab, ab)&amp;quot;, randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testRandomMatrixEigenValueWithEmptyStringArgument() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;randomMatrixRank(&#039;&#039;, &#039;&#039;, &#039;&#039;, &#039;&#039;)&amp;quot;, randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testRandomMatrixEigenValueWithEmptyArgument() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;randomMatrixRank()&amp;quot;, randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testRandomMatrixEigenValueWithoutExerciseVariable() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;randomMatrixRank(&#039;[var=j]&#039;, &#039;[var=j]&#039;, &#039;[var=j]&#039;, &#039;[var=j]&#039;)&amp;quot;, randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testRandomMatrixEigenValueWithoutInput() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;randomMatrixRank(&#039;[pos=42]&#039;, &#039;[pos=42]&#039;, &#039;[pos=42]&#039;, &#039;[pos=42]&#039;)&amp;quot;, randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
* Mit der Funktion [[evaluateInSage]] lassen sich die Eigenschaften der Matrix abfragen, z.B. &lt;br /&gt;
 evaluateInSage(&#039;[var=Matrix].rank()&#039;)    --&amp;gt; Gibt den Rang der Matrix zurück&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=RandomMatrixEigenvalue&amp;diff=1820</id>
		<title>RandomMatrixEigenvalue</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=RandomMatrixEigenvalue&amp;diff=1820"/>
		<updated>2017-09-19T06:38:56Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
Die Funktion &#039;&#039;randomMatrixEigenvalue&#039;&#039; gibt eine diagonalisierbare Matrix zurück. Die Funktion wird in Sage bearbeitet. Sie braucht die Matrix, die Eigenwerte und die Dimension der jeweiligen Eigenräume als Eingabewerte und gibt die Matrix zurück.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 randomMatrixEigenvalue(String matrix, String zahl, String eigenwerte, String dimension)&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;matrix&#039;&#039;&#039; - Gibt an, ob die Matrix als Matrix über die ganzen Zahlen (ZZ), über die rationalen Zahlen (QQ) oder als Matrix über den reellen Zahlen (RR) aufgefasst werden soll.&lt;br /&gt;
* &#039;&#039;&#039;zahl&#039;&#039;&#039; - Gibt die Anzahl der Zeilen und Spalten der nxn-Matrix an: 1, 2, 3, ...&lt;br /&gt;
* &#039;&#039;&#039;eigenwerte&#039;&#039;&#039; - Gibt die Eigenwerte der Matrix an: [a,b,c,...].&lt;br /&gt;
* &#039;&#039;&#039;dimension&#039;&#039;&#039; - Gibt die Dimension der jeweiligen Eigenräume an [1,1,1,...]. Dabei ist der Index derselbe wie bei dem zugehörigen Eigenwert.&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt die Matrix als OpenMathOpject zurück.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 randomMatrixEigenvalue(&#039;QQ&#039;,&#039;2&#039;,&#039;[1,2]&#039;,&#039;[1,1]&#039;)&lt;br /&gt;
&lt;br /&gt;
 randomMatrixEigenvalue(&#039;QQ&#039;,&#039;3&#039;,&#039;[2,3,4]&#039;,&#039;[1,1,1]&#039;)&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() throws FunctionNotImplementedException, UndefinedFillInVariableException,&lt;br /&gt;
		UndefinedExerciseVariableException, ParserException, ErroneousFillInVariableException,&lt;br /&gt;
		ErroneousExerciseVariableException {&lt;br /&gt;
	randomMatrixEigenvalueFillInVariableMap.put(1, ExpressionParser.parse(&amp;quot;&#039;[1,1,1]&#039;&amp;quot;, null, null));&lt;br /&gt;
&lt;br /&gt;
	randomMatrixEigenvalueExerciseVariableMap.put(&amp;quot;a&amp;quot;, ExpressionParser.parse(&amp;quot;&#039;[1,1,1]&#039;&amp;quot;, null, null));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRandomMatrixEigenValue1() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;matrix(matrixrow(1,0,0), matrixrow(0,1,0), matrixrow(0,0,1))&amp;quot;, null, null),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;randomMatrixEigenvalue(&#039;QQ&#039;, &#039;3&#039;, &#039;[1,1,1]&#039;, &#039;[1,1,1]&#039;)&amp;quot;,&lt;br /&gt;
					randomMatrixEigenvalueExerciseVariableMap, randomMatrixEigenvalueFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRandomMatrixEigenValue2() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;matrix(matrixrow(1,0), matrixrow(0,1))&amp;quot;, null, null),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;randomMatrixEigenvalue(&#039;RR&#039;, &#039;2&#039;, &#039;[1,1]&#039;, &#039;[1,1]&#039;)&amp;quot;,&lt;br /&gt;
					randomMatrixEigenvalueExerciseVariableMap, randomMatrixEigenvalueFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRandomMatrixEigenValue3() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;matrix(matrixrow(1))&amp;quot;, null, null),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;randomMatrixEigenvalue(&#039;ZZ&#039;, &#039;1&#039;, &#039;[1]&#039;, &#039;[1]&#039;)&amp;quot;,&lt;br /&gt;
					randomMatrixEigenvalueExerciseVariableMap, randomMatrixEigenvalueFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRandomMatrixEigenValueWithInput() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;matrix(matrixrow(1,0,0), matrixrow(0,1,0), matrixrow(0,0,1))&amp;quot;, null, null),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;randomMatrixEigenvalue(&#039;QQ&#039;, &#039;3&#039;, &#039;[var=a]&#039;, &#039;[var=a]&#039;)&amp;quot;,&lt;br /&gt;
					randomMatrixEigenvalueExerciseVariableMap, randomMatrixEigenvalueFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRandomMatrixEigenValueWithVariables() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;matrix(matrixrow(1,0,0), matrixrow(0,1,0), matrixrow(0,0,1))&amp;quot;, null, null),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;randomMatrixEigenvalue(&#039;QQ&#039;, &#039;3&#039;, &#039;[pos=1]&#039;, &#039;[pos=1]&#039;)&amp;quot;,&lt;br /&gt;
					randomMatrixEigenvalueExerciseVariableMap, randomMatrixEigenvalueFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = ParserException.class)&lt;br /&gt;
public void testRandomMatrixEigenValueWithONECharacter() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;randomMatrixEigenvalue(ab, ab, ab, ab)&amp;quot;, randomMatrixEigenvalueExerciseVariableMap,&lt;br /&gt;
			randomMatrixEigenvalueFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testRandomMatrixEigenValueWithEmptyStringArgument() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;randomMatrixEigenvalue(&#039;&#039;, &#039;&#039;, &#039;&#039;, &#039;&#039;)&amp;quot;, randomMatrixEigenvalueExerciseVariableMap,&lt;br /&gt;
			randomMatrixEigenvalueFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testRandomMatrixEigenValueWithEmptyArgument() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;randomMatrixEigenvalue()&amp;quot;, randomMatrixEigenvalueExerciseVariableMap,&lt;br /&gt;
			randomMatrixEigenvalueFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testRandomMatrixEigenValueWithoutExerciseVariable() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;randomMatrixEigenvalue(&#039;[var=j]&#039;, &#039;[var=j]&#039;, &#039;[var=j]&#039;, &#039;[var=j]&#039;)&amp;quot;,&lt;br /&gt;
			randomMatrixEigenvalueExerciseVariableMap, randomMatrixEigenvalueFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testRandomMatrixEigenValueWithoutInput() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;randomMatrixEigenvalue(&#039;[pos=42]&#039;, &#039;[pos=42]&#039;, &#039;[pos=42]&#039;, &#039;[pos=42]&#039;)&amp;quot;,&lt;br /&gt;
			randomMatrixEigenvalueExerciseVariableMap, randomMatrixEigenvalueFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
* Mit der Funktion [[evaluateInSage]] lassen sich die Eigenschaften der Matrix abfragen, z.B.&lt;br /&gt;
 evaluateInSage(&#039;[var=Matrix].is_diagonalizable()&#039;)    --&amp;gt; Gibt &#039;&#039;true&#039;&#039; zurück, wenn die Matrix diagonalisierbar ist&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Random&amp;diff=1819</id>
		<title>Random</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Random&amp;diff=1819"/>
		<updated>2017-09-19T06:38:37Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;random&#039;&#039; liefert eine Pseudozufallszahl in Form einer Gleitkommazahl im Bereich von 0 (inklusiv) bis 1 (exklusiv) zurück. Die Funktion benötigt keine Parameter.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 random()&lt;br /&gt;
&lt;br /&gt;
===Parameter ===&lt;br /&gt;
* keine&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt eine Zufallszahl (double) zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
====Standardfälle====&lt;br /&gt;
 random()   --&amp;gt; 0.451236789&lt;br /&gt;
 random()   --&amp;gt; 0.969492934&lt;br /&gt;
&lt;br /&gt;
==== Benutzung mit Variablen ====&lt;br /&gt;
*keine&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@Test&lt;br /&gt;
public void testRandom() {&lt;br /&gt;
	&lt;br /&gt;
	for(int i=0;i&amp;lt;10000;i++){&lt;br /&gt;
		assertTrue(1 &amp;gt;  Evaluator.getNumberResult(&amp;quot;random()&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
		assertTrue(0 &amp;lt;= Evaluator.getNumberResult(&amp;quot;random()&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testRandomStatistically() {&lt;br /&gt;
	HashMap&amp;lt;Double, Integer&amp;gt; statistics = new HashMap&amp;lt;&amp;gt;();  //&amp;lt;&#039;Random Number&#039;, &#039;Occurrences&#039;&amp;gt;&lt;br /&gt;
	for (int i = 0; i &amp;lt; 10000; i++){&lt;br /&gt;
		double random = Evaluator.getNumberResult(&amp;quot;random()&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
		if (statistics.containsKey(random)){&lt;br /&gt;
			statistics.put(random, statistics.get(random) +1);&lt;br /&gt;
		}else{&lt;br /&gt;
			statistics.put(random, 1);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	int max = 0;&lt;br /&gt;
	for (int value : statistics.values() {&lt;br /&gt;
		if(value &amp;gt; max){ max = value; }&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	assertTrue(2 &amp;gt;= max);  						//max 2 same random numbers out of 10 000&lt;br /&gt;
	assertTrue(9990 &amp;lt; statistics.values().size()); //max 9 random numbers overlapping out of 10 000 &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testRandomWithOneArgument() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;random(4)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testRandomWithTwoArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;random(4, 5)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testRandomWithThreeArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;random(2, 4, 0.1)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
* liefert niemals den Wert 1 zurück&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Pow&amp;diff=1818</id>
		<title>Pow</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Pow&amp;diff=1818"/>
		<updated>2017-09-19T06:37:55Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;pow&#039;&#039; repräsentiert eine Exponentialfunktion und errechnet die Potens der Basis mit dem Exponenten (&amp;lt;math&amp;gt;Basis^{Exponent}&amp;lt;/math&amp;gt;). Die Funktion erwartet zwei Zahlen, einmal die Basis und einmal den Exponenten, und gibt die entsprechende Potens zurück.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 pow(float basis, float exponent)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;basis&#039;&#039;&#039; - die Basis&lt;br /&gt;
* &#039;&#039;&#039;exponent&#039;&#039;&#039; - der Exponent&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
*Gibt das Ergebnis von &amp;lt;math&amp;gt;Basis^{Exponent}&amp;lt;/math&amp;gt; zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 pow(2,2)   --&amp;gt; returns 4&lt;br /&gt;
 pow(10,3)   --&amp;gt; returns 1000&lt;br /&gt;
&lt;br /&gt;
==== n-te Wurzel ziehen ====&lt;br /&gt;
 pow(16,0.25)   --&amp;gt; returns 2&lt;br /&gt;
&lt;br /&gt;
==== Benutzung mit Variablen ====&lt;br /&gt;
 pow([pos=1],[pos=3])&lt;br /&gt;
 pow([var=a],[var=b])&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	fillInVariableMap.put(1, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;2&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	fillInVariableMap.put(2, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;10&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
	exerciseVariableMap.put(&amp;quot;a&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;2&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	exerciseVariableMap.put(&amp;quot;b&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;10&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPow1() {&lt;br /&gt;
	assertEquals(4, Evaluator.getNumberResult(&amp;quot;pow(2,2)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPow2() {&lt;br /&gt;
	assertEquals(1000, Evaluator.getNumberResult(&amp;quot;pow(10,3)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPow3() {&lt;br /&gt;
	assertEquals(-8, Evaluator.getNumberResult(&amp;quot;pow(-2,3)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPow4() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;pow(10,0)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPow5() {&lt;br /&gt;
	assertEquals(.1, Evaluator.getNumberResult(&amp;quot;pow(10,-1)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPow6() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;pow(1,-55)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPow7() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;pow(0, 44)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPowWithInput1() {&lt;br /&gt;
	assertEquals(1024, Evaluator.getNumberResult(&amp;quot;pow(2,[pos=2])&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPowWithInput2() {&lt;br /&gt;
	assertEquals(8, Evaluator.getNumberResult(&amp;quot;pow([pos=1],3)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPowWithVariables1() {&lt;br /&gt;
	assertEquals(4, Evaluator.getNumberResult(&amp;quot;pow(2,[var=a])&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPowWithVariables2() {&lt;br /&gt;
	assertEquals(1000, Evaluator.getNumberResult(&amp;quot;pow([var=b],3)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPowWithExpressions1() {&lt;br /&gt;
	assertEquals(16, Evaluator.getNumberResult(&amp;quot;pow(pow(-2,2), 2)&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPowWithExpressions2() {&lt;br /&gt;
	assertEquals(4096,&lt;br /&gt;
			Evaluator.getNumberResult(&amp;quot;pow(pow(-2,3), pow(2, 2))&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPowWithExpressions3() {&lt;br /&gt;
	assertEquals(16,&lt;br /&gt;
			Evaluator.getNumberResult(&amp;quot;pow(pow(-2,pow(2,1)), pow(2, 1))&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPowWithPointNumbers() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;pow(1.0, 1.3)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPowWithInputCharacters() {&lt;br /&gt;
	OMA oma = Evaluator.evaluate(&amp;quot;pow(a, a)&amp;quot;, exerciseVariableMap, fillInVariableMap).getOMA();&lt;br /&gt;
	assertEquals(&amp;quot;&amp;lt;OMA&amp;gt;&amp;lt;OMS name=\&amp;quot;power\&amp;quot; cd=\&amp;quot;arith1\&amp;quot;/&amp;gt;&amp;lt;OMV name=\&amp;quot;a\&amp;quot;/&amp;gt;&amp;lt;OMV name=\&amp;quot;a\&amp;quot;/&amp;gt;&amp;lt;/OMA&amp;gt;&amp;quot;, oma.toString());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testPowWithOneArgument() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;pow(4)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testPowWithThreeArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;pow(2, 2, 2)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testPowWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;pow(&#039;[var=j]&#039;, &#039;[var=j]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testPowWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;pow(&#039;[pos=42]&#039;, &#039;[pos=42]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
* Wichtig: Dezimalzahlen müssen mit Punkt angegeben werden (z.B 3.4)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Pow&amp;diff=1817</id>
		<title>Pow</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Pow&amp;diff=1817"/>
		<updated>2017-09-19T06:37:22Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;pow&#039;&#039; repräsentiert eine Exponentialfunktion und errechnet die Potens der Basis mit dem Exponenten (&amp;lt;math&amp;gt;Basis^{Exponent}&amp;lt;/math&amp;gt;). Die Funktion erwartet zwei Zahlen, einmal die Basis und einmal den Exponenten, und gibt die entsprechende Potens zurück.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 pow(float basis, float exponent)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;basis&#039;&#039;&#039; - die Basis&lt;br /&gt;
* &#039;&#039;&#039;exponent&#039;&#039;&#039; - der Exponent&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
*Gibt das Ergebnis von &amp;lt;math&amp;gt;Basis^{Exponent}&amp;lt;/math&amp;gt; zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 pow(2,2)   --&amp;gt; returns 4&lt;br /&gt;
 pow(10,3)   --&amp;gt; returns 1000&lt;br /&gt;
&lt;br /&gt;
==== n-te Wurzel ziehen ====&lt;br /&gt;
 pow(16,0.25)   --&amp;gt; returns 2&lt;br /&gt;
&lt;br /&gt;
==== Benutzung mit Variablen ====&lt;br /&gt;
 pow([pos=1],[pos=3])&lt;br /&gt;
 pow([var=a],[var=b])&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	&lt;br /&gt;
		fillInVariableMap.put(1, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;2&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		fillInVariableMap.put(2, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;10&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;a&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;2&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;b&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;10&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPow1() {&lt;br /&gt;
	assertEquals(4, Evaluator.getNumberResult(&amp;quot;pow(2,2)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPow2() {&lt;br /&gt;
	assertEquals(1000, Evaluator.getNumberResult(&amp;quot;pow(10,3)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPow3() {&lt;br /&gt;
	assertEquals(-8, Evaluator.getNumberResult(&amp;quot;pow(-2,3)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPow4() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;pow(10,0)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPow5() {&lt;br /&gt;
	assertEquals(.1, Evaluator.getNumberResult(&amp;quot;pow(10,-1)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPow6() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;pow(1,-55)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPow7() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;pow(0, 44)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPowWithInput1() {&lt;br /&gt;
	assertEquals(1024, Evaluator.getNumberResult(&amp;quot;pow(2,[pos=2])&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPowWithInput2() {&lt;br /&gt;
	assertEquals(8, Evaluator.getNumberResult(&amp;quot;pow([pos=1],3)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPowWithVariables1() {&lt;br /&gt;
	assertEquals(4, Evaluator.getNumberResult(&amp;quot;pow(2,[var=a])&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPowWithVariables2() {&lt;br /&gt;
	assertEquals(1000, Evaluator.getNumberResult(&amp;quot;pow([var=b],3)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPowWithExpressions1() {&lt;br /&gt;
	assertEquals(16, Evaluator.getNumberResult(&amp;quot;pow(pow(-2,2), 2)&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPowWithExpressions2() {&lt;br /&gt;
	assertEquals(4096,&lt;br /&gt;
			Evaluator.getNumberResult(&amp;quot;pow(pow(-2,3), pow(2, 2))&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPowWithExpressions3() {&lt;br /&gt;
	assertEquals(16,&lt;br /&gt;
			Evaluator.getNumberResult(&amp;quot;pow(pow(-2,pow(2,1)), pow(2, 1))&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPowWithPointNumbers() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;pow(1.0, 1.3)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testPowWithInputCharacters() {&lt;br /&gt;
	OMA oma = Evaluator.evaluate(&amp;quot;pow(a, a)&amp;quot;, exerciseVariableMap, fillInVariableMap).getOMA();&lt;br /&gt;
	assertEquals(&amp;quot;&amp;lt;OMA&amp;gt;&amp;lt;OMS name=\&amp;quot;power\&amp;quot; cd=\&amp;quot;arith1\&amp;quot;/&amp;gt;&amp;lt;OMV name=\&amp;quot;a\&amp;quot;/&amp;gt;&amp;lt;OMV name=\&amp;quot;a\&amp;quot;/&amp;gt;&amp;lt;/OMA&amp;gt;&amp;quot;, oma.toString());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testPowWithOneArgument() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;pow(4)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testPowWithThreeArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;pow(2, 2, 2)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testPowWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;pow(&#039;[var=j]&#039;, &#039;[var=j]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testPowWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;pow(&#039;[pos=42]&#039;, &#039;[pos=42]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
* Wichtig: Dezimalzahlen müssen mit Punkt angegeben werden (z.B 3.4)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=NumberOfVariables&amp;diff=1816</id>
		<title>NumberOfVariables</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=NumberOfVariables&amp;diff=1816"/>
		<updated>2017-09-19T06:36:44Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
Die Funktion &#039;&#039;numberOfVariables&#039;&#039; zählt die Variablen in einem Ausdruck. Sie erwartet einen String und gibt einen numerischen Ausdruck zurück.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 numberOfVariables(Expression term)&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;term&#039;&#039;&#039; - der Ausdruck dessen Variablen gezählt werden sollen&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt einen numerischen Ausdruck zurück.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 numberOfVariables(&#039;2x+3a-2b&#039;)    --&amp;gt; returns 3&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() throws FunctionNotImplementedException, UndefinedFillInVariableException,&lt;br /&gt;
		UndefinedExerciseVariableException, ParserException, ErroneousFillInVariableException, ErroneousExerciseVariableException {&lt;br /&gt;
	numberOfVariablesFillInVariableMap.put(1, ExpressionParser.parse(&amp;quot;0&amp;quot;, null, null));&lt;br /&gt;
	numberOfVariablesFillInVariableMap.put(2, ExpressionParser.parse(&amp;quot;3&amp;quot;, null, null));&lt;br /&gt;
	numberOfVariablesFillInVariableMap.put(3, ExpressionParser.parse(&amp;quot;x&amp;quot;, null, null));&lt;br /&gt;
&lt;br /&gt;
	numberOfVariablesExerciseVariableMap.put(&amp;quot;a&amp;quot;, ExpressionParser.parse(&amp;quot;x&amp;quot;, null, null));&lt;br /&gt;
	numberOfVariablesExerciseVariableMap.put(&amp;quot;b&amp;quot;, ExpressionParser.parse(&amp;quot;3&amp;quot;, null, null));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNumberOfVariables1() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;numberOfVariables(&#039;2x+3a-x+2b&#039;)&amp;quot;,&lt;br /&gt;
			numberOfVariablesExerciseVariableMap, numberOfVariablesFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNumberOfVariables2() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;numberOfVariables(&#039;2x+3x-x+2x&#039;)&amp;quot;,&lt;br /&gt;
			numberOfVariablesExerciseVariableMap, numberOfVariablesFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNumberOfVariables3() {&lt;br /&gt;
	assertEquals(5, Evaluator.getNumberResult(&amp;quot;numberOfVariables(&#039;sin(i)*E^(e)+ q/sqrt(s)&#039;)&amp;quot;,&lt;br /&gt;
			numberOfVariablesExerciseVariableMap, numberOfVariablesFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNumberOfVariables4() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;numberOfVariables(&#039;5&#039;)&amp;quot;, numberOfVariablesExerciseVariableMap,&lt;br /&gt;
			numberOfVariablesFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNumberOfVariablesWithInput1() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;numberOfVariables(&#039;2*x+3*a-x+2*b&#039;)&amp;quot;,&lt;br /&gt;
			numberOfVariablesExerciseVariableMap, numberOfVariablesFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNumberOfVariablesWithInput2() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;numberOfVariables(&#039;2*[pos=3]+3*a-[pos=3]+2*b&#039;)&amp;quot;,&lt;br /&gt;
			numberOfVariablesExerciseVariableMap, numberOfVariablesFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNumberOfVariablesWithInput3() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;numberOfVariables(&#039;2*[pos=3]+3*a-[pos=3]+2*b&#039;)&amp;quot;,&lt;br /&gt;
			numberOfVariablesExerciseVariableMap, numberOfVariablesFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNumberOfVariablesWithInput4() {&lt;br /&gt;
	assertEquals(2, Evaluator.getNumberResult(&amp;quot;numberOfVariables(&#039;2*[pos=3]+3*[pos=3]-[pos=3]+2*b&#039;)&amp;quot;,&lt;br /&gt;
			numberOfVariablesExerciseVariableMap, numberOfVariablesFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNumberOfVariablesWithVariables1() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;numberOfVariables(&#039;2x+3a-x+2b&#039;)&amp;quot;,&lt;br /&gt;
			numberOfVariablesExerciseVariableMap, numberOfVariablesFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNumberOfVariablesWithVariables2() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;numberOfVariables(&#039;2[var=a]+3a-[var=a]+2b&#039;)&amp;quot;,&lt;br /&gt;
			numberOfVariablesExerciseVariableMap, numberOfVariablesFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNumberOfVariablesWithVariables3() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;numberOfVariables(&#039;2[var=a]+3a-[var=a]+2b&#039;)&amp;quot;,&lt;br /&gt;
			numberOfVariablesExerciseVariableMap, numberOfVariablesFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNumberOfVariablesWithVariables4() {&lt;br /&gt;
	assertEquals(2, Evaluator.getNumberResult(&amp;quot;numberOfVariables(&#039;2[var=a]+3[var=a]-[var=a]+2b&#039;)&amp;quot;,&lt;br /&gt;
			numberOfVariablesExerciseVariableMap, numberOfVariablesFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNumberOfVariablesWithONECharacter() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;numberOfVariables(a)&amp;quot;, numberOfVariablesExerciseVariableMap,&lt;br /&gt;
			numberOfVariablesFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNumberOfVariablesWithEmptyStringArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;numberOfVariables(&#039;&#039;)&amp;quot;, numberOfVariablesExerciseVariableMap,&lt;br /&gt;
			numberOfVariablesFillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testNumberOfVariablesWithEmptyArgument() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;numberOfVariables()&amp;quot;, numberOfVariablesExerciseVariableMap,&lt;br /&gt;
			numberOfVariablesFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testNumberOfVariablesWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;numberOfVariables(&#039;[var=j]&#039;)&amp;quot;, numberOfVariablesExerciseVariableMap,&lt;br /&gt;
			numberOfVariablesFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testNumberOfVariablesWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;numberOfVariables(&#039;[pos=42]&#039;)&amp;quot;, numberOfVariablesExerciseVariableMap,&lt;br /&gt;
			numberOfVariablesFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=NotEqual&amp;diff=1815</id>
		<title>NotEqual</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=NotEqual&amp;diff=1815"/>
		<updated>2017-09-19T06:36:23Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
Die Funktionen &#039;&#039;notEqual&#039;&#039; vergleicht zwei Ausdrücke auf Gleichheit miteinander. Wenn die beiden Ausdrücke nicht übereinstimmen gibt die Funktion &#039;&#039;true&#039;&#039; zurück, ansonsten &#039;&#039;false&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 a != b&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039; - double&lt;br /&gt;
* &#039;&#039;&#039;b&#039;&#039;&#039; - double&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt einen Boolean zurück.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 &amp;lt;math&amp;gt;4!=6&amp;lt;/math&amp;gt;    --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() throws FunctionNotImplementedException, UndefinedFillInVariableException,&lt;br /&gt;
		UndefinedExerciseVariableException, ParserException, ErroneousFillInVariableException, ErroneousExerciseVariableException {&lt;br /&gt;
	notEqualFillInVariableMap.put(1, ExpressionParser.parse(&amp;quot;3&amp;quot;, null, null));&lt;br /&gt;
	notEqualFillInVariableMap.put(2, ExpressionParser.parse(&amp;quot;10&amp;quot;, null, null));&lt;br /&gt;
	notEqualFillInVariableMap.put(3, ExpressionParser.parse(&amp;quot;3.5&amp;quot;, null, null));&lt;br /&gt;
&lt;br /&gt;
	notEqualExerciseVariableMap.put(&amp;quot;a&amp;quot;, ExpressionParser.parse(&amp;quot;3&amp;quot;, null, null));&lt;br /&gt;
	notEqualExerciseVariableMap.put(&amp;quot;b&amp;quot;, ExpressionParser.parse(&amp;quot;10&amp;quot;, null, null));&lt;br /&gt;
	notEqualExerciseVariableMap.put(&amp;quot;c&amp;quot;, ExpressionParser.parse(&amp;quot;3.5&amp;quot;, null, null));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqual1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;1 != 0&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqual2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;30 != 7&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqual3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;-10 != 3&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqual4() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;1 != 1&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqual5() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;0 != 0&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqual6() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;&#039;a&#039; != &#039;b&#039;&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqual7() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;&#039;&#039; != 0&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqual8() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;0 != &#039;&#039;&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqual9() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;0 != &#039;0&#039;&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqualWithVariables1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[var=a] != 0&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqualWithVariables2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;30 != [var=a]&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqualWithVariables3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[var=a]!= [var=b]&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqualWithVariables4() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;[var=a] != [var=a]&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqualWithInput1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[pos=1] != 0&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqualWithInput2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;30 != [pos=1]&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqualWithInput3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[pos=1] != [pos=2]&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqualWithInput4() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;[pos=1] != [pos=1]&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqualWithEncapsulation1() {&lt;br /&gt;
	assertFalse(Evaluator.getBooleanResult(&amp;quot;1 != (1 != 0)&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqualWithEncapsulation2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;1 != (1 != (1 != 0))&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqualWithEncapsulation3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;1 != (1 != (1 != (1 != (1 != 0))))&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqualWithEncapsulation4() {&lt;br /&gt;
	assertFalse(Evaluator.getBooleanResult(&amp;quot;1 != (1 != (1 != (1 != (1 != 1))))&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqualWithEncapsulation5() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;((((1 != 0) != 1) != 1) != 1) != 1&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testNotEqualWithEncapsulation6() {&lt;br /&gt;
	assertFalse(Evaluator.getBooleanResult(&amp;quot;((((1 != 1) != 1) != 1) != 1) != 1&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=ParserException.class)&lt;br /&gt;
public void testNotEqualWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;1 == ab&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test (expected=UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testNotEqualWithMissingExcerciseVariable() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;[var=j] == 2&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test (expected=UndefinedFillInVariableException.class)&lt;br /&gt;
public void testNotEqualWithMissingInput() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;[pos=42] == 2&amp;quot;, notEqualExerciseVariableMap, notEqualFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Times&amp;diff=1814</id>
		<title>Times</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Times&amp;diff=1814"/>
		<updated>2017-09-19T06:35:39Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
Bei der &#039;&#039;Multiplikation&#039;&#039; werden zwei Zahlen miteinander multipliziert. &lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 a * b&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039; - double&lt;br /&gt;
* &#039;&#039;&#039;b&#039;&#039;&#039; - double&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt eine expression zurück.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 &amp;lt;math&amp;gt;3*5&amp;lt;/math&amp;gt;    --&amp;gt; returns 15&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;math&amp;gt;1.4*2.3&amp;lt;/math&amp;gt;    --&amp;gt; returns 3.22&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	fillInVariableMap.put(1, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;3&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	fillInVariableMap.put(2, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;10&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	fillInVariableMap.put(3, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;2.5&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	fillInVariableMap.put(4, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;4.3&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
	exerciseVariableMap.put(&amp;quot;a&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;3&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	exerciseVariableMap.put(&amp;quot;b&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;10&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	exerciseVariableMap.put(&amp;quot;c&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;2.5&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	exerciseVariableMap.put(&amp;quot;d&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;4.3&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMultiplication1() {&lt;br /&gt;
	assertEquals(24, Evaluator.getNumberResult(&amp;quot;6*4&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMultiplication2() {&lt;br /&gt;
	assertNotEquals(1, Evaluator.getNumberResult(&amp;quot;7.3*2&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMultiplication3() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;7.3*0&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMultiplication4() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;0*0&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMultiplication5() {&lt;br /&gt;
	assertEquals(21.17, Evaluator.getNumberResult(&amp;quot;7.3*2.9&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMultiplicationWithNegativeNumber1() {&lt;br /&gt;
	assertEquals(-29, Evaluator.getNumberResult(&amp;quot;10*(-2.9)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMultiplicationWithNegativeNumber2() {&lt;br /&gt;
	assertNotEquals(1, Evaluator.getNumberResult(&amp;quot;-7.3*2&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMultiplicationWithVariables1() {&lt;br /&gt;
	assertEquals(18, Evaluator.getNumberResult(&amp;quot;6*[var=a]&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMultiplicationWithVariables2() {&lt;br /&gt;
	assertEquals(29, Evaluator.getNumberResult(&amp;quot;[var=b]*2.9&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMultiplicationWithVariables3() {&lt;br /&gt;
	assertNotEquals(1, Evaluator.getNumberResult(&amp;quot;7.3*[var=a]&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMultiplicationWithVariables4() {&lt;br /&gt;
	assertEquals(10.75, Evaluator.getNumberResult(&amp;quot;[var=c]*[var=d]&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMultiplicationWithInput1() {&lt;br /&gt;
	assertEquals(18, Evaluator.getNumberResult(&amp;quot;6*[pos=1]&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMultiplicationWithInput2() {&lt;br /&gt;
	assertEquals(29, Evaluator.getNumberResult(&amp;quot;[pos=2]*2.9&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMultiplicationWithInput3() {&lt;br /&gt;
	assertNotEquals(1, Evaluator.getNumberResult(&amp;quot;7.3*[pos=1]&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMultiplicationWithInput4() {&lt;br /&gt;
	assertEquals(10.75, Evaluator.getNumberResult(&amp;quot;[pos=3]*[pos=4]&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMultiplicationWithEncapsulation1() {&lt;br /&gt;
	assertEquals(8, Evaluator.getNumberResult(&amp;quot;2 * (2 * 2)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMultiplicationWithEncapsulation2() {&lt;br /&gt;
	assertEquals(16, Evaluator.getNumberResult(&amp;quot;2 * (2 * (2 * 2))&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMultiplicationWithEncapsulation3() {&lt;br /&gt;
	assertEquals(64,&lt;br /&gt;
			Evaluator.getNumberResult(&amp;quot;2 * (2 * (2 * (2 * (2 * 2))))&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMultiplicationWithEncapsulation4() {&lt;br /&gt;
	assertEquals(64,&lt;br /&gt;
			Evaluator.getNumberResult(&amp;quot;((((2 * 2) * 2) * 2) * 2) * 2&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMultiplicationWithInputCharacter() {&lt;br /&gt;
	OMA result = Evaluator.evaluate(&amp;quot;6 * a&amp;quot;, exerciseVariableMap, fillInVariableMap).getOMA();&lt;br /&gt;
	assertEquals(&amp;quot;&amp;lt;OMA&amp;gt;&amp;lt;OMS name=\&amp;quot;times\&amp;quot; cd=\&amp;quot;arith1\&amp;quot;/&amp;gt;&amp;lt;OMI&amp;gt;6&amp;lt;/OMI&amp;gt;&amp;lt;OMV name=\&amp;quot;a\&amp;quot;/&amp;gt;&amp;lt;/OMA&amp;gt;&amp;quot;, result.toString());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testMultiplicationWithWrongInputString() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;6 * &#039;aabcd&#039;&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testMultiplicationWithMissingExcerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;[var=j] * 1&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testMultiplicationWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;[pos=42] * 1&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
* Auch hier lässt sich das Ergebnis mit [[equal]] (&amp;quot;==&amp;quot;) vergleichen.&lt;br /&gt;
* ACHTUNG: Besonders bei der Multiplikation von Dezimal-Zahlen tritt der folgende Rechner-Fehler auf: &amp;lt;math&amp;gt;7.3*2.9 = 21.16999999999998&amp;lt;/math&amp;gt; anstatt &amp;lt;math&amp;gt;21.17&amp;lt;/math&amp;gt;. Dies lässt sich auch hier verhindern wenn das Ergebnis auf zwei Nachkommastellen gerundet wird.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Modulo&amp;diff=1813</id>
		<title>Modulo</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Modulo&amp;diff=1813"/>
		<updated>2017-09-19T06:35:02Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
Der &#039;&#039;Modulo&#039;&#039; gibt den Rest bei einer Division zurück. &lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 a%b&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039; - double&lt;br /&gt;
* &#039;&#039;&#039;b&#039;&#039;&#039; - double&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt eine expression zurück.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 &amp;lt;math&amp;gt;9%2&amp;lt;/math&amp;gt;    --&amp;gt; returns &amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	remainderFillInVariableMap.put(1, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;3&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	remainderFillInVariableMap.put(2, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;10&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
	remainderExerciseVariableMap.put(&amp;quot;a&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;3&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	remainderExerciseVariableMap.put(&amp;quot;b&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;10&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulus1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;5%5&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulus2() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;1%3&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulus3() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;7%4&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulus4() {&lt;br /&gt;
	assertEquals(6, Evaluator.getNumberResult(&amp;quot;6%7&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulus5() {&lt;br /&gt;
	assertEquals(6, Evaluator.getNumberResult(&amp;quot;6%7&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidArgumentTypeException.class) //Float Numbers so Error occurs&lt;br /&gt;
public void testModulus6() {&lt;br /&gt;
	assertEquals(2, Evaluator.getNumberResult(&amp;quot;12.0%2.5&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test (expected=FunctionInvalidArgumentException.class)&lt;br /&gt;
public void testModulus7() {&lt;br /&gt;
	System.out.println(Evaluator.evaluate(&amp;quot;4%0&amp;quot;, exerciseVariableMap, fillInVariableMap).getOMI());&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;4%0&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithVariables1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;[var=a]%3&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithVariables2() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;1%[var=a]&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithVariables3() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;[var=a]%[var=b]&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithInput1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;[pos=1]%3&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithInput2() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;1%[pos=1]&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithInput3() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;[pos=1]%[pos=2]&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithNegativeNumbers1() {&lt;br /&gt;
	assertEquals(-2, Evaluator.getNumberResult(&amp;quot;-2 % 5&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidArgumentTypeException.class)// FloatNumber, so Error occurs&lt;br /&gt;
public void testModulusWithNegativeNumbers2() {&lt;br /&gt;
	assertEquals(-2.3, Evaluator.getNumberResult(&amp;quot;-2.3 % 5&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithNegativeNumbers3() {&lt;br /&gt;
	assertEquals(-2, Evaluator.getNumberResult(&amp;quot;-7 % -5&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithEncapsulation1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;1 % (1 % 2)&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithEncapsulation2() {&lt;br /&gt;
	assertEquals(2, Evaluator.getNumberResult(&amp;quot;2 % (3 % (4 % 5))&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithEncapsulation3() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;1 % (5 % (7 % (9 % (5 % 10))))&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithEncapsulation4() {&lt;br /&gt;
	assertNotEquals(3, Evaluator.getNumberResult(&amp;quot;((3 % 4) % 4) % 3&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithEncapsulation5() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;((((7 % 10) % 4) % 4) % 4) % 3&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=ParserException.class)&lt;br /&gt;
public void testModulusWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;6 % ab&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testModulusWithWrongInputString() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;6 % &#039;a&#039;&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test (expected=UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testModulusWithMissingExcerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;[var=j] % 2&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test (expected=UndefinedFillInVariableException.class)&lt;br /&gt;
public void testModulusWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;[pos=42] % 2&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
* Das Ergebnis kann mit [[equal]] (&amp;quot;==&amp;quot;) abgefragt werden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Modulo&amp;diff=1812</id>
		<title>Modulo</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Modulo&amp;diff=1812"/>
		<updated>2017-09-19T06:34:47Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
Der &#039;&#039;Modulo&#039;&#039; gibt den Rest bei einer Division zurück. &lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 a%b&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039; - double&lt;br /&gt;
* &#039;&#039;&#039;b&#039;&#039;&#039; - double&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt eine expression zurück.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 &amp;lt;math&amp;gt;9%2&amp;lt;/math&amp;gt;    --&amp;gt; returns &amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	&lt;br /&gt;
		remainderFillInVariableMap.put(1, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;3&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		remainderFillInVariableMap.put(2, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;10&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
		remainderExerciseVariableMap.put(&amp;quot;a&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;3&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		remainderExerciseVariableMap.put(&amp;quot;b&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;10&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulus1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;5%5&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulus2() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;1%3&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulus3() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;7%4&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulus4() {&lt;br /&gt;
	assertEquals(6, Evaluator.getNumberResult(&amp;quot;6%7&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulus5() {&lt;br /&gt;
	assertEquals(6, Evaluator.getNumberResult(&amp;quot;6%7&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidArgumentTypeException.class) //Float Numbers so Error occurs&lt;br /&gt;
public void testModulus6() {&lt;br /&gt;
	assertEquals(2, Evaluator.getNumberResult(&amp;quot;12.0%2.5&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test (expected=FunctionInvalidArgumentException.class)&lt;br /&gt;
public void testModulus7() {&lt;br /&gt;
	System.out.println(Evaluator.evaluate(&amp;quot;4%0&amp;quot;, exerciseVariableMap, fillInVariableMap).getOMI());&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;4%0&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithVariables1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;[var=a]%3&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithVariables2() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;1%[var=a]&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithVariables3() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;[var=a]%[var=b]&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithInput1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;[pos=1]%3&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithInput2() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;1%[pos=1]&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithInput3() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;[pos=1]%[pos=2]&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithNegativeNumbers1() {&lt;br /&gt;
	assertEquals(-2, Evaluator.getNumberResult(&amp;quot;-2 % 5&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidArgumentTypeException.class)// FloatNumber, so Error occurs&lt;br /&gt;
public void testModulusWithNegativeNumbers2() {&lt;br /&gt;
	assertEquals(-2.3, Evaluator.getNumberResult(&amp;quot;-2.3 % 5&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithNegativeNumbers3() {&lt;br /&gt;
	assertEquals(-2, Evaluator.getNumberResult(&amp;quot;-7 % -5&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithEncapsulation1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;1 % (1 % 2)&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithEncapsulation2() {&lt;br /&gt;
	assertEquals(2, Evaluator.getNumberResult(&amp;quot;2 % (3 % (4 % 5))&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithEncapsulation3() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;1 % (5 % (7 % (9 % (5 % 10))))&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithEncapsulation4() {&lt;br /&gt;
	assertNotEquals(3, Evaluator.getNumberResult(&amp;quot;((3 % 4) % 4) % 3&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testModulusWithEncapsulation5() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;((((7 % 10) % 4) % 4) % 4) % 3&amp;quot;, remainderExerciseVariableMap, remainderFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=ParserException.class)&lt;br /&gt;
public void testModulusWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;6 % ab&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testModulusWithWrongInputString() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;6 % &#039;a&#039;&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test (expected=UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testModulusWithMissingExcerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;[var=j] % 2&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test (expected=UndefinedFillInVariableException.class)&lt;br /&gt;
public void testModulusWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;[pos=42] % 2&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
* Das Ergebnis kann mit [[equal]] (&amp;quot;==&amp;quot;) abgefragt werden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Min&amp;diff=1811</id>
		<title>Min</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Min&amp;diff=1811"/>
		<updated>2017-09-19T06:34:25Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
Die Funktion &#039;&#039;min&#039;&#039; ermittelt den kleinsten Wert zweier Zahlen. Die Funktion erwartet zwei zu vergleichende Zahlen und gibt die kleinere Zahl zurück.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 min(float zahl1, float zahl2)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;zahl1&#039;&#039;&#039; - der erste zu vergleichende Wert&lt;br /&gt;
* &#039;&#039;&#039;zahl2&#039;&#039;&#039; - der zweite zu vergleichende Wert&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
*Gibt die kleinere Zahl zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 min(12,3)   --&amp;gt; returns 3&lt;br /&gt;
 min(9.568,100)   --&amp;gt; returns 9.568&lt;br /&gt;
&lt;br /&gt;
==== Benutzung mit Variablen ====&lt;br /&gt;
 min([pos=1],[pos=3])&lt;br /&gt;
 min([var=a],[var=b])&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	&lt;br /&gt;
		fillInVariableMap.put(1, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;1&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		fillInVariableMap.put(2, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;2&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		fillInVariableMap.put(3, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;-1&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;a&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;1&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;b&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;2&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;c&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;-1&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMin1() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;min(1, 2)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMin2() {&lt;br /&gt;
	assertEquals(2, Evaluator.getNumberResult(&amp;quot;min(3, 2)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMin3() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;min(1, 1)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMin4() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;min(0, 0)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMin5() {&lt;br /&gt;
	assertEquals(-2, Evaluator.getNumberResult(&amp;quot;min(-2, 0)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMin6() {&lt;br /&gt;
	assertEquals(-2, Evaluator.getNumberResult(&amp;quot;min(-2, 2)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMinWithVariables1() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;min([var=a], [var=b])&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMinWithVariables2() {&lt;br /&gt;
	assertEquals(-1, Evaluator.getNumberResult(&amp;quot;min([var=a], [var=c])&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMinWithInput1() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;min([pos=1], [pos=2])&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMinWithInput2() {&lt;br /&gt;
	assertEquals(-1, Evaluator.getNumberResult(&amp;quot;min([pos=1], [pos=3])&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMinWithExpressions1() {&lt;br /&gt;
	assertEquals(-12, Evaluator.getNumberResult(&amp;quot;min(min(-12,2), 4)&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMinWithExpressions2() {&lt;br /&gt;
	assertEquals(-12,&lt;br /&gt;
			Evaluator.getNumberResult(&amp;quot;min(min(-12,2), min(5, 8))&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMinWithExpressions3() {&lt;br /&gt;
	assertEquals(-13, Evaluator.getNumberResult(&amp;quot;min(min(-12,min(13,-13)), min(5, 8))&amp;quot;, exerciseVariableMap,&lt;br /&gt;
			fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMinWithPointNumbers1() {&lt;br /&gt;
	assertEquals(1.0, Evaluator.getNumberResult(&amp;quot;min(1.0, 1.3)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testMinWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;min(a, a)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testMinWithOneArgument() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;min(2)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testMinWithThreeArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;min(1, 23, 4)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testMinWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;min(&#039;[var=j]&#039;, &#039;[var=j]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testMinWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;min(&#039;[pos=42]&#039;, &#039;[pos=42]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
* Eine Gleitkommazahl wird mit einem Punkt anstatt eines Komma gebildet&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Max&amp;diff=1810</id>
		<title>Max</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Max&amp;diff=1810"/>
		<updated>2017-09-19T06:33:26Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
Die Funktion &#039;&#039;max&#039;&#039; ermittelt den größten Wert zweier Zahlen. Die Funktion erwartet zwei zu vergleichende Zahlen und gibt die größte Zahl zurück.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 max(float zahl1, float zahl2)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;zahl1&#039;&#039;&#039; - der erste zu vergleichende Wert&lt;br /&gt;
* &#039;&#039;&#039;zahl2&#039;&#039;&#039; - der zweite zu vergleichende Wert&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
*Gibt die größte Zahl zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 max(12,3)   --&amp;gt; returns 12&lt;br /&gt;
 max(9.568,100)   --&amp;gt; returns 100&lt;br /&gt;
&lt;br /&gt;
==== Benutzung mit Variablen ====&lt;br /&gt;
 max([pos=1],[pos=3])&lt;br /&gt;
 max([var=a],[var=b])&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	fillInVariableMap.put(1, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;1&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	fillInVariableMap.put(2, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;2&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	fillInVariableMap.put(3, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;-1&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
	exerciseVariableMap.put(&amp;quot;a&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;1&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	exerciseVariableMap.put(&amp;quot;b&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;2&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	exerciseVariableMap.put(&amp;quot;c&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;-1&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMax1() {&lt;br /&gt;
	assertEquals(2, Evaluator.getNumberResult(&amp;quot;max(1, 2)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMax2() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;max(3, 2)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMax3() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;max(1, 1)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMax4() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;max(0, 0)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMax5() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;max(-2, 0)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMax6() {&lt;br /&gt;
	assertEquals(2, Evaluator.getNumberResult(&amp;quot;max(-2, 2)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMaxWithVariables1() {&lt;br /&gt;
	assertEquals(2, Evaluator.getNumberResult(&amp;quot;max([var=a], [var=b])&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMaxWithVariables2() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;max([var=a], [var=c])&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMaxWithInput1() {&lt;br /&gt;
	assertEquals(2, Evaluator.getNumberResult(&amp;quot;max([pos=1], [pos=2])&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMaxWithInput2() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;max([pos=1], [pos=3])&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMaxWithExpressions1() {&lt;br /&gt;
	assertEquals(12, Evaluator.getNumberResult(&amp;quot;max(max(12,2), 4)&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMaxWithExpressions2() {&lt;br /&gt;
	assertEquals(12, Evaluator.getNumberResult(&amp;quot;max(max(12,2), max(5, 8))&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMaxWithExpressions3() {&lt;br /&gt;
	assertEquals(13, Evaluator.getNumberResult(&amp;quot;max(max(12,max(13,-13)), max(5, 8))&amp;quot;, exerciseVariableMap,&lt;br /&gt;
			fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMaxWithPointNumbers1() {&lt;br /&gt;
	assertEquals(1.3, Evaluator.getNumberResult(&amp;quot;max(1.0, 1.3)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testMaxWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;max(a, a)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testMaxWithOneArgument() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;max(2)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testMaxWithThreeArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;max(1, 23, 4)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testMaxWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;max(&#039;[var=j]&#039;, &#039;[var=j]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testMaxWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;max(&#039;[pos=42]&#039;, &#039;[pos=42]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
* Eine Gleitkommazahl wird mit einem Punkt anstatt eines Komma gebildet&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Matches&amp;diff=1809</id>
		<title>Matches</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Matches&amp;diff=1809"/>
		<updated>2017-09-19T06:32:57Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;matches&#039;&#039; prüft, ob ein String einem gegebenen regulären Ausdruck genügt. Die Funktion erwartet zwei String, die Zeichenkette, die geprüft werden soll, und den regulärer Ausdruck, der als Grundlage zum Prüfen gilt. Es wird ein Boolean zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 matches(String zeichenkette, String regExp)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;zeichenkette&#039;&#039;&#039; - zu prüfende Zeichenkette&lt;br /&gt;
* &#039;&#039;&#039;regExp&#039;&#039;&#039; - regulärer Ausdruck&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt einen Boolean zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 matches(&#039;Abcd0&#039;,&#039;[A-Za-z0-9]*&#039;)   --&amp;gt; returns true&lt;br /&gt;
&lt;br /&gt;
==== Benutzung von Variablen ====&lt;br /&gt;
    matches(&#039;abababa&#039;,&#039;[var=a]&#039;)&lt;br /&gt;
    matches(&#039;[var=c]&#039;,&#039;\\d&#039;)&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	fillInVariableMap.put(7, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;abababa&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	fillInVariableMap.put(8, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;6&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	fillInVariableMap.put(9, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;2&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		&lt;br /&gt;
	exerciseVariableMap.put(&amp;quot;g&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;abababa&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	exerciseVariableMap.put(&amp;quot;h&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;6&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	exerciseVariableMap.put(&amp;quot;i&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;2&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMatches1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;matches(&#039;abababa&#039;,&#039;abababa&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMatches2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;matches(&#039;abcdefghijklmnopqrstuvwxyz&#039;,&#039;abcdefghijklmnopqrstuvwxyz&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMatches3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;matches(&#039;5&#039;, &#039;[0-6]+&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMatches4() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;matches(&#039;Ab3&#039;, &#039;[A-Za-z0-9]+&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMatches5() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;matches(&#039;2&#039;, &#039;\\d&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMatches6() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;matches(&#039;abc&#039;, &#039;\\d&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMatchesAndInput1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;matches(&#039;abababa&#039;,&#039;[pos=7]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMatchesAndInput2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;matches(&#039;5&#039;,&#039;[0-[pos=8]]+&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMatchesAndInput3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;matches(&#039;[pos=9]&#039;, &#039;\\d&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMatchesWithVariables1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;matches(&#039;abababa&#039;,&#039;[var=g]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMatchesWithVariables2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;matches(&#039;5&#039;, &#039;[0-[var=h]]+&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testMatchesWithVariables3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;matches(&#039;[var=i]&#039;, &#039;\\d&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=ParserException.class)&lt;br /&gt;
public void testMatchesWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;matches(ab, ab)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testMatchesWithOneArgument() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;matches(&#039;abc&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testmatchesWithThreeArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;matches(&#039;str&#039;, &#039;[i]+&#039;, &#039;string&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testMatchesWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;matches(&#039;[var=j]&#039;, &#039;[var=j]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=UndefinedFillInVariableException.class)&lt;br /&gt;
public void testMatchesWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;matches(&#039;[pos=42]&#039;, &#039;[pos=42]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Log&amp;diff=1808</id>
		<title>Log</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Log&amp;diff=1808"/>
		<updated>2017-09-19T06:31:34Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;log&#039;&#039; beschreibt die natürliche Logarithmusfunktion zur Basis &amp;lt;math&amp;gt;e&amp;lt;/math&amp;gt;. Die Funktion erwartet eine rationale Zahl und gibt eine rationale Zahl zurück.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 log(double zahl)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;zahl&#039;&#039;&#039; - rationale Zahl, auf die die Logarithmusfunktion angewendet wird&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt eine rationale Zahl zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 log(100)   --&amp;gt; returns 4.605170185988092&lt;br /&gt;
 log(1)   --&amp;gt; returns 0&lt;br /&gt;
&lt;br /&gt;
==== Benutzung von Variablen ====&lt;br /&gt;
 log([pos=1])&lt;br /&gt;
 log([var=a])&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	&lt;br /&gt;
		fillInVariableMap.put(1, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;5&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		fillInVariableMap.put(2, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMF dec=\&amp;quot;13.7465\&amp;quot;/&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;a&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;5&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;b&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMF dec=\&amp;quot;13.7465\&amp;quot;/&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLog1() {&lt;br /&gt;
	assertEquals(Math.log(100), Evaluator.getNumberResult(&amp;quot;log(100)&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLog2() {&lt;br /&gt;
	assertEquals(Math.log(197), Evaluator.getNumberResult(&amp;quot;log(197)&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLog3() {&lt;br /&gt;
	assertEquals(Math.log(100), Evaluator.getNumberResult(&amp;quot;log(&#039;100&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLog4() {&lt;br /&gt;
	assertEquals(Math.log(197), Evaluator.getNumberResult(&amp;quot;log(&#039;197&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLogWithInput1() {&lt;br /&gt;
	assertEquals(Math.log(5), Evaluator.getNumberResult(&amp;quot;log([pos=1])&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLogWithInput2() {&lt;br /&gt;
	assertEquals(Math.log(13.7465),&lt;br /&gt;
			Evaluator.getNumberResult(&amp;quot;log([pos=2])&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLogWithVariables1() {&lt;br /&gt;
	assertEquals(Math.log(5), Evaluator.getNumberResult(&amp;quot;log([var=a])&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLogWithVariables2() {&lt;br /&gt;
	assertEquals(Math.log(13.7465),&lt;br /&gt;
			Evaluator.getNumberResult(&amp;quot;log([var=b])&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLogWithExpressions1() {&lt;br /&gt;
	assertEquals(Math.log(Math.log(12)),&lt;br /&gt;
			Evaluator.getNumberResult(&amp;quot;log(log(12))&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLogWithExpressions2() {&lt;br /&gt;
	assertEquals(Math.log(Math.log(Math.log(12))),&lt;br /&gt;
			Evaluator.getNumberResult(&amp;quot;log(log(log(12)))&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLogWithPointNumbers1() {&lt;br /&gt;
	assertEquals(Math.log(1.0), Evaluator.getNumberResult(&amp;quot;log(1.0)&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLogWithPointNumbers2() {&lt;br /&gt;
	assertEquals(Math.log(.1), Evaluator.getNumberResult(&amp;quot;log(0.1)&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLogWithPointNumbers3() {&lt;br /&gt;
	assertEquals(Math.log(.1234), Evaluator.getNumberResult(&amp;quot;log(0.1234)&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.0001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentException.class) // NaN&lt;br /&gt;
public void testLogAtDefinition1() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;log(-1)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentException.class) // NaN&lt;br /&gt;
public void testLogAtDefinition2() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;log(-0.1)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentException.class) // NaN&lt;br /&gt;
public void testLogAtDefinition3() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;log(0)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testLogWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;log(a)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testLogWithTwoArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;log(2, 1)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testLogWithThreeArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;log(1, 23, 4)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testLogWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;log(&#039;[var=j]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testLogWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;log(&#039;[pos=42]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
* Aufgrund von der Rechengenauigkeit des Computers, wird in jedem Fall eine rationale Zahl zurückgegeben. Sollte der tatsächliche Funktionswert irrational sein, wird entsprechend gerundet.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=LessThanOrEqual&amp;diff=1807</id>
		<title>LessThanOrEqual</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=LessThanOrEqual&amp;diff=1807"/>
		<updated>2017-09-19T06:31:11Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
Die Funktion &#039;&#039;lessThanOrEqual&#039;&#039; vergleicht zwei Ausdrücke der Größe nach miteinander und gibt einen Wahrheitswert zurück, abhängig davon, ob der linksstehende Ausdruck kleiner-gleich dem rechtsstehenden Ausdruck ist.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 a &amp;lt;= b&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039; - double&lt;br /&gt;
* &#039;&#039;&#039;b&#039;&#039;&#039; - double&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt einen Boolean zurück.&lt;br /&gt;
*: Wenn der linke Ausdruck kleiner-gleich dem rechten Ausdruck ist, wird &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; zurückgegeben, andernfalls &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 &amp;lt;math&amp;gt;2 &amp;lt;= 4&amp;lt;/math&amp;gt;    --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;math&amp;gt;4 &amp;lt;= 4&amp;lt;/math&amp;gt;    --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;math&amp;gt;3 &amp;lt;= 2&amp;lt;/math&amp;gt;    --&amp;gt; returns &#039;&#039;false&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() throws FunctionNotImplementedException, UndefinedFillInVariableException,&lt;br /&gt;
		UndefinedExerciseVariableException, ParserException, ErroneousFillInVariableException, ErroneousExerciseVariableException {&lt;br /&gt;
	lessThanOrEqualFillInVariableMap.put(1, ExpressionParser.parse(&amp;quot;3&amp;quot;, null, null));&lt;br /&gt;
	lessThanOrEqualFillInVariableMap.put(2, ExpressionParser.parse(&amp;quot;1&amp;quot;, null, null));&lt;br /&gt;
	lessThanOrEqualFillInVariableMap.put(3, ExpressionParser.parse(&amp;quot;2.5&amp;quot;, null, null));&lt;br /&gt;
&lt;br /&gt;
	lessThanOrEqualExerciseVariableMap.put(&amp;quot;a&amp;quot;, ExpressionParser.parse(&amp;quot;8&amp;quot;, null, null));&lt;br /&gt;
	lessThanOrEqualExerciseVariableMap.put(&amp;quot;b&amp;quot;, ExpressionParser.parse(&amp;quot;25&amp;quot;, null, null));&lt;br /&gt;
	lessThanOrEqualExerciseVariableMap.put(&amp;quot;c&amp;quot;, ExpressionParser.parse(&amp;quot;2.5&amp;quot;, null, null));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqual1() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;22&amp;lt;=8&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqual2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;8&amp;lt;=8&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqual3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;2&amp;lt;=8&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqual4() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;8&amp;lt;=9&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqual5() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;45&amp;lt;=7&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqual6() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;7&amp;lt;=7&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqual7() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;-0.2&amp;lt;=0&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqual8() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;0&amp;lt;=0&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqualWithVariables1() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;22&amp;lt;=[var=a]&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqualWithVariables2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;3&amp;lt;=[var=a]&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqualWithVariables3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;2&amp;lt;=[var=a]&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqualWithVariables4() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;8&amp;lt;=[var=b]&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
	&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqualWithVariables5() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;8&amp;lt;=[var=a]&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqualWithVariables6() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;[var=b]&amp;lt;=23&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqualWithVariables7() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[var=a]&amp;lt;=[var=a]&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqualWithVariables8() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[var=a]&amp;lt;=[var=b]&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqualWithVariables9() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;[var=b]&amp;lt;=[var=a]&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqualWithInput1() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;22&amp;lt;=[pos=1]&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqualWithInput2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;3&amp;lt;=[pos=1]&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqualWithInput3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;2&amp;lt;=[pos=1]&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqualWithInput4() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;3&amp;lt;=[pos=1]&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqualWithInput5() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[pos=2]&amp;lt;=5&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqualWithInput6() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;5&amp;lt;=[pos=2]&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqualWithInput7() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;[pos=1]&amp;lt;=[pos=2]&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqualWithEncapsulation1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;1 &amp;lt;= (1 &amp;lt;= 2)&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqualWithEncapsulation2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;1 &amp;lt;= (1 &amp;lt;= (0 &amp;lt;= 1))&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqualWithEncapsulation3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;0 &amp;lt;= (0 &amp;lt;= (0 &amp;lt;= (0 &amp;lt;= (0 &amp;lt;= 1))))&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanOrEqualWithEncapsulation4() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;((((1 &amp;lt;= 1) &amp;lt;= 1) &amp;lt;= 1) &amp;lt;= 1) &amp;lt;= 1&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=ParserException.class)&lt;br /&gt;
public void testLessThanOrEqualWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;6 &amp;lt;= ab&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testLessThanOrEqualWithWrongInputString() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;6 &amp;lt;= &#039;a&#039;&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test (expected=UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testLessThanOrEqualWithMissingExcerciseVariable() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;[var=j] &amp;lt;= 2&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test (expected=UndefinedFillInVariableException.class)&lt;br /&gt;
public void testLessThanOrEqualWithMissingInput() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;[pos=42] &amp;lt;= 2&amp;quot;, lessThanOrEqualExerciseVariableMap, lessThanOrEqualFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=LessThan&amp;diff=1806</id>
		<title>LessThan</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=LessThan&amp;diff=1806"/>
		<updated>2017-09-19T06:30:40Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
Die Funktion &#039;&#039;lessThan&#039;&#039; vergleicht zwei Ausdrücke nach der Größe miteinander.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 a &amp;lt; b&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039; - double&lt;br /&gt;
* &#039;&#039;&#039;b&#039;&#039;&#039; - double&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt einen Boolean zurück&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 &amp;lt;math&amp;gt;3 &amp;lt; 5&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() throws FunctionNotImplementedException, UndefinedFillInVariableException,&lt;br /&gt;
		UndefinedExerciseVariableException, ParserException, ErroneousFillInVariableException, ErroneousExerciseVariableException {&lt;br /&gt;
	lessThanFillInVariableMap.put(1, ExpressionParser.parse(&amp;quot;3&amp;quot;, null, null));&lt;br /&gt;
	lessThanFillInVariableMap.put(2, ExpressionParser.parse(&amp;quot;1&amp;quot;, null, null));&lt;br /&gt;
&lt;br /&gt;
	lessThanExerciseVariableMap.put(&amp;quot;a&amp;quot;, ExpressionParser.parse(&amp;quot;8&amp;quot;, null, null));&lt;br /&gt;
	lessThanExerciseVariableMap.put(&amp;quot;b&amp;quot;, ExpressionParser.parse(&amp;quot;25&amp;quot;, null, null));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThan1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;8&amp;lt;22&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThan2() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;22&amp;lt;8&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThan3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;3.5&amp;lt;5.7&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThan4() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;-1&amp;lt;1&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThan5() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;-0.2&amp;lt;0&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanWithExerciseVariables1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;8&amp;lt;[var=b]&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanWithExerciseVariables2() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;9&amp;lt;[var=a]&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanWithExerciseVariables3() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;22&amp;lt;[var=a]&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanWithExerciseVariables4() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[var=a]&amp;lt;100&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanWithExerciseVariables5() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;2&amp;lt;[var=a]&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanWithExerciseVariables6() {&lt;br /&gt;
	assertTrue(&lt;br /&gt;
			Evaluator.getBooleanResult(&amp;quot;[var=a]&amp;lt;[var=b]&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanWithExerciseVariables7() {&lt;br /&gt;
	assertTrue(&lt;br /&gt;
			!Evaluator.getBooleanResult(&amp;quot;[var=b]&amp;lt;[var=a]&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanWithInput1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;2&amp;lt;[pos=1]&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanWithInput2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[pos=2]&amp;lt;34&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanWithInput3() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;2&amp;lt;[pos=2]&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanWithInput4() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;22&amp;lt;[pos=1]&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanWithInput5() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;2&amp;lt;[pos=1]&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanWithInput6() {&lt;br /&gt;
	assertTrue(&lt;br /&gt;
			Evaluator.getBooleanResult(&amp;quot;[pos=2]&amp;lt;[pos=1]&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanWithInput7() {&lt;br /&gt;
	assertTrue(&lt;br /&gt;
			!Evaluator.getBooleanResult(&amp;quot;[pos=1]&amp;lt;[pos=2]&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanWithEncapsulation1() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;1 &amp;lt; (1 &amp;lt; 2)&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanWithEncapsulation2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;0 &amp;lt; (0 &amp;lt; (0 &amp;lt; 1))&amp;quot;, lessThanExerciseVariableMap,&lt;br /&gt;
			lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanWithEncapsulation3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;0 &amp;lt; (0 &amp;lt; (0 &amp;lt; (0 &amp;lt; (0 &amp;lt; 1))))&amp;quot;, lessThanExerciseVariableMap,&lt;br /&gt;
			lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLessThanWithEncapsulation4() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;((((1 &amp;lt; 1) &amp;lt; 1) &amp;lt; 1) &amp;lt; 1) &amp;lt; 1&amp;quot;, lessThanExerciseVariableMap,&lt;br /&gt;
			lessThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = ParserException.class)&lt;br /&gt;
public void testLessThanWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;6 &amp;lt; ab&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testLessThanWithWrongInputString() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;6 &amp;lt; &#039;a&#039;&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testLessThanWithMissingExcerciseVariable() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;[var=j] &amp;lt; 2&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testLessThanWithMissingInput() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;[pos=42] &amp;lt; 2&amp;quot;, lessThanExerciseVariableMap, lessThanFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Length&amp;diff=1805</id>
		<title>Length</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Length&amp;diff=1805"/>
		<updated>2017-09-19T06:30:11Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;length&#039;&#039; gibt die Länge einer gegebenen Zeichenkette zurück. Die Funktion erwartet einen String und gibt eine Ganzzahl zurück.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 length(String zeichenkette)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;zeichenkette&#039;&#039;&#039; - Zeichenkette deren Länge bestimmt werden soll&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt eine Ganzzahl zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 length(&#039;Hello World!&#039;)   --&amp;gt; returns 12&lt;br /&gt;
 length(&#039;a&#039;)   --&amp;gt; returns 1&lt;br /&gt;
&lt;br /&gt;
==== Benutzung von Variablen ====&lt;br /&gt;
 length(&#039;[pos=1]&#039;)&lt;br /&gt;
 length(&#039;[var=a]&#039;)&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	&lt;br /&gt;
		fillInVariableMap.put(7, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;Haveaniceday&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		fillInVariableMap.put(8, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;stillworking&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;g&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;Haveaniceday&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;h&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;stillworking&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLength1() {&lt;br /&gt;
	assertEquals(5, Evaluator.getNumberResult(&amp;quot;length(&#039;abcde&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLength2() {&lt;br /&gt;
	assertEquals(14, Evaluator.getNumberResult(&amp;quot;length(&#039;another string&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLength3() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;length(&#039;&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLength4() {&lt;br /&gt;
	assertEquals(2, Evaluator.getNumberResult(&amp;quot;length(&#039;  &#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLengthWithInput1() {&lt;br /&gt;
	assertEquals(12, Evaluator.getNumberResult(&amp;quot;length(&#039;[pos=7]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLengthWithInput2() {&lt;br /&gt;
	assertEquals(12, Evaluator.getNumberResult(&amp;quot;length(&#039;[pos=8]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLengthWithVariables1() {&lt;br /&gt;
	assertEquals(12, Evaluator.getNumberResult(&amp;quot;length(&#039;[var=g]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLengthWithVariables2() {&lt;br /&gt;
	assertEquals(12, Evaluator.getNumberResult(&amp;quot;length(&#039;[var=h]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=ParserException.class)&lt;br /&gt;
public void testLengthWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;length(ab)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testLengthWithTwoArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;length(&#039;abab&#039;, &#039;abab&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testLengthWithThreeArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;length(&#039;abab&#039;, &#039;ab&#039;, &#039;ab&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testLengthWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;length(&#039;[var=j]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=UndefinedFillInVariableException.class)&lt;br /&gt;
public void testLengthWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;length(&#039;[pos=42]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=LastIndexOf&amp;diff=1804</id>
		<title>LastIndexOf</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=LastIndexOf&amp;diff=1804"/>
		<updated>2017-09-19T06:29:52Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;lastIndexOf&#039;&#039; bestimmt die Position an der eine Zeichenkette oder ein einzelnes Zeichen das letzte Mal innerhalb einer anderen Zeichenkette vorkommt. Außerdem muss angegeben werden, ab welcher Stelle innerhalb der durchsuchten Zeichenkette gesucht werden soll. Die Funktion erwartet zwei Strings, die zu durchsuchende und die zu suchende Zeichenkette, und eine Ganzzahl, bis zu welcher Stelle die Suche durchgeführt werden soll. Es wird eine Ganzzahl zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 lastIndexOf(String zeichenkette, String muster, int position)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;zeichenkette&#039;&#039;&#039; - Zeichenkette in dem gesucht wird&lt;br /&gt;
* &#039;&#039;&#039;muster&#039;&#039;&#039; - Zeichenkette, die innnerhalb der ersten gesucht wird&lt;br /&gt;
* &#039;&#039;&#039;position&#039;&#039;&#039; - Endpositition der Suche&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt eine Ganzzahl zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 lastIndexOf(&#039;Hello World!&#039;,&#039;o&#039;,0)   --&amp;gt; returns -1&lt;br /&gt;
 lastIndexOf(&#039;Hello World!&#039;,&#039;o&#039;,6)   --&amp;gt; returns 4&lt;br /&gt;
&lt;br /&gt;
==== Benutzung von Variablen ====&lt;br /&gt;
 lastIndexOf(&#039;[pos=1]&#039;,&#039;x&#039;,10)&lt;br /&gt;
 lastIndexOf(&#039;text&#039;,&#039;[var=a]&#039;,4)&lt;br /&gt;
 lastIndexOf(&#039;[var=b]&#039;,&#039;x&#039;,[pos=2])&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	&lt;br /&gt;
		fillInVariableMap.put(7, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;oneString&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		fillInVariableMap.put(8, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;b&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;g&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;oneString&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;h&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;b&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLastIndexOf1() {&lt;br /&gt;
	assertEquals(4, Evaluator.getNumberResult(&amp;quot;lastIndexOf(&#039;abbbb&#039;,&#039;b&#039;,5)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLastIndexOf2() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;lastIndexOf(&#039;cabade&#039;,&#039;c&#039;,10)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLastIndexOf3() {&lt;br /&gt;
	assertEquals(-1, Evaluator.getNumberResult(&amp;quot;lastIndexOf(&#039;cabade&#039;,&#039;test&#039;,10)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLastIndexOf4() {&lt;br /&gt;
	assertEquals(6, Evaluator.getNumberResult(&amp;quot;lastIndexOf(&#039;he   llo&#039;,&#039;lo&#039;,7)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLastIndexOf5() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;lastIndexOf(&#039;&#039;,&#039;&#039;,0)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLastIndexOfWithInput1() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;lastIndexOf(&#039;[pos=7]&#039;,&#039;S&#039;,7)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLastIndexOfWithInput2() {&lt;br /&gt;
	assertEquals(4, Evaluator.getNumberResult(&amp;quot;lastIndexOf(&#039;abbbb&#039;,&#039;[pos=8]&#039;,5)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLastIndexOfWithVariable1() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;lastIndexOf(&#039;[var=g]&#039;,&#039;S&#039;,7)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLastIndexOfWithVariable2() {&lt;br /&gt;
	assertEquals(4, Evaluator.getNumberResult(&amp;quot;lastIndexOf(&#039;abbbb&#039;,&#039;[var=h]&#039;,5)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=ParserException.class)&lt;br /&gt;
public void testLastIndexOfWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;lastIndexOf(ab, ab, ab)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testLastIndexOfWithOneArgument() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;lastIndexOf(&#039;abab&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testLastIndexOfWithTwoArguments() {&lt;br /&gt;
	assertEquals(2, Evaluator.getNumberResult(&amp;quot;lastIndexOf(&#039;abab&#039;, &#039;ab&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testLastIndexOfWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;lastIndexOf(&#039;[var=j]&#039;, &#039;[var=j]&#039;, &#039;[var=j]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=UndefinedFillInVariableException.class)&lt;br /&gt;
public void testLastIndexOfWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;lastIndexOf(&#039;[pos=42]&#039;, &#039;[pos=42]&#039;, &#039;[pos=42]&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
* Die Nummerierung innerhalb der Zeichenkette beginnt mit 0.&lt;br /&gt;
* Sollte die gesuchte Zeichenkette nicht gefunden werden, gibt die Funktion -1 zurück.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=IsPolynomial&amp;diff=1803</id>
		<title>IsPolynomial</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=IsPolynomial&amp;diff=1803"/>
		<updated>2017-09-18T11:04:24Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
Die Funktion &#039;&#039;isPolynomial&#039;&#039; prüft, ob ein Ausdruck ein Polynom ist. Es können nur Polynome in einer Variable überprüft werden. Die Funktion benötigt zwei Strings, den zu überprüfenden Ausdruck und die Variable in welcher der Ausdruck ein Polynom sein soll. Sie gibt einen Boolean zurück.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 isPolynomial(String term, String variable)&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;term&#039;&#039;&#039; - der zu überprüfende Ausdruck&lt;br /&gt;
* &#039;&#039;&#039;variable&#039;&#039;&#039; - die Variable&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt einen Boolean zurück.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 isPolynomial(&#039;x^2+x+1&#039;,&#039;x&#039;)    --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	OMOBJ x = new OMOBJ();&lt;br /&gt;
	OMOBJ y = new OMOBJ();&lt;br /&gt;
	x.setOMV(OMCreator.createOMV(&amp;quot;x&amp;quot;));&lt;br /&gt;
	y.setOMV(OMCreator.createOMV(&amp;quot;y&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
	fillIn.put(1, x);&lt;br /&gt;
	fillIn.put(2, y);&lt;br /&gt;
&lt;br /&gt;
	exerVar.put(&amp;quot;a&amp;quot;, x);&lt;br /&gt;
	exerVar.put(&amp;quot;b&amp;quot;, y);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsPolynomial1() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isPolynomial(&#039;x^2+x+1&#039;,&#039;x&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsPolynomial2() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isPolynomial(&#039;y^2+3*y+4&#039;,&#039;y&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsPolynomial3() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isPolynomial(&#039;3*a^5+2*a^3-a&#039;,&#039;a&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsPolynomial4() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isPolynomial(&#039;m^3+2*m-2&#039;,&#039;m&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsPolynomial5() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isPolynomial(&#039;x^2+x+1&#039;,&#039;y&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsPolynomial6() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isPolynomial(&#039;x&#039;,&#039;x&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsPolynomial7() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isPolynomial(&#039;sin(x)+ y^3&#039;, &#039;y&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsPolynomial8() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isPolynomial(&#039;e^(x) + y^3&#039;, &#039;y&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsPolynomial9() {&lt;br /&gt;
	assertEquals(false, Evaluator.getBooleanResult(&amp;quot;isPolynomial(&#039;sin(x)+ y^3&#039;, &#039;x&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsPolynomial10() {&lt;br /&gt;
	assertEquals(false, Evaluator.getBooleanResult(&amp;quot;isPolynomial(&#039;e^(x) + y^3&#039;, &#039;x&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsPolynomialWithInput() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isPolynomial(&#039;x^2+x+1&#039;,&#039;[pos=1]&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsPolynomialWithVariables() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isPolynomial(&#039;x^2+x+1&#039;,&#039;[var=a]&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test // (expected=AssertionError.class)&lt;br /&gt;
public void testIsPolynomialWithNumberAsSecondArgument1() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isPolynomial(&#039;sin(x)&#039;, &#039;1&#039;)&amp;quot;, exerVar, fillIn));// Look if 1 is&lt;br /&gt;
																									// Polynomial&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test // (expected=AssertionError.class)&lt;br /&gt;
public void testIsPolynomialWithNumberAsSecondArgument2() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isPolynomial(&#039;e^(x)&#039;, &#039;0&#039;)&amp;quot;, exerVar, fillIn)); // Look if 0 is&lt;br /&gt;
																									// Polynomial&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test // (expected=AssertionError.class)&lt;br /&gt;
public void testIsPolynomialWithNumberAsSecondArgument3() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isPolynomial(&#039;x^2+x+1&#039;,&#039;2&#039;)&amp;quot;, exerVar, fillIn));// Look if 2 is&lt;br /&gt;
																									// Polynomial&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testIsPolynomialWithEmptyStringArguments() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isPolynomial(&#039;&#039;, &#039;&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testIsPolynomialWithEmptyArgument() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isPolynomial()&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testIsPolynomialWithoutExerciseVariable() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isPolynomial(&#039;[var=j]&#039;, &#039;[var=j]&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testIsPolynomialWithoutInput() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isPolynomial(&#039;[pos=42]&#039;, &#039;[pos=42]&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
* Der Ausdruck muss ein Polynom sein!&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=IsRealNumber&amp;diff=1802</id>
		<title>IsRealNumber</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=IsRealNumber&amp;diff=1802"/>
		<updated>2017-09-18T11:04:07Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;isNumber&#039;&#039; prüft, ob es sich bei einer gegebenen Zeichenkette um eine Zahl handelt. Die Funktion erwartet einen String und gibt einen Boolean zurück.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 isNumber(String zeichenkette)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;zeichenkette&#039;&#039;&#039; - der zu überprüfende String&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt einen Boolean zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 isNumber(&#039;15.3&#039;)   --&amp;gt; returns true&lt;br /&gt;
 isNumber(&#039;zahl&#039;)   --&amp;gt; returns false&lt;br /&gt;
&lt;br /&gt;
==== Benutzung von Variablen ====&lt;br /&gt;
 isNumber(&#039;[pos=1]&#039;)&lt;br /&gt;
 isNumber(&#039;[var=a]&#039;)&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	OMOBJ zero = new OMOBJ();&lt;br /&gt;
	OMOBJ mTwelve = new OMOBJ();&lt;br /&gt;
	OMOBJ twoHundred = new OMOBJ();&lt;br /&gt;
	zero.setOMI(OMCreator.createOMI(0));&lt;br /&gt;
	mTwelve.setOMI(OMCreator.createOMI(-12));&lt;br /&gt;
	twoHundred.setOMI(OMCreator.createOMI(200));&lt;br /&gt;
&lt;br /&gt;
	exerVar.put(&amp;quot;a&amp;quot;, twoHundred);&lt;br /&gt;
	exerVar.put(&amp;quot;b&amp;quot;, zero);&lt;br /&gt;
	exerVar.put(&amp;quot;c&amp;quot;, mTwelve);&lt;br /&gt;
&lt;br /&gt;
	fillIn.put(1, twoHundred);&lt;br /&gt;
	fillIn.put(2, zero);&lt;br /&gt;
	fillIn.put(3, mTwelve);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsNumber1() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isNumber(&#039;10&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsNumber2() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isNumber(&#039;1234567890&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsNumber3() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isNumber(&#039;-101230&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsNumber4() {&lt;br /&gt;
	assertEquals(false, Evaluator.getBooleanResult(&amp;quot;isNumber(&#039;12$56&amp;amp;&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsNumber5() {&lt;br /&gt;
	assertEquals(false, Evaluator.getBooleanResult(&amp;quot;isNumber(&#039;&amp;amp;!รยง$%&amp;amp;/()123asdf&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsNumber6() {&lt;br /&gt;
	assertEquals(false, Evaluator.getBooleanResult(&amp;quot;isNumber(&#039;abcde&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsNumberWithInput1() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isNumber(&#039;[pos=1]&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsNumberWithInput2() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isNumber(&#039;[pos=2]&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsNumberWithInput3() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isNumber(&#039;[pos=3]&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsNumberWithVariables1() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isNumber(&#039;[var=a]&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsNumberWithVariables2() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isNumber(&#039;[var=b]&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsNumberWithVariables3() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isNumber(&#039;[var=c]&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsNumberWithWrongInputCharacter() {&lt;br /&gt;
	assertEquals(false, Evaluator.getBooleanResult(&amp;quot;isNumber(a)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testIsNumberWithTwoArguments() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isNumber(3/2 , 0)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testIsNumberWithThreeArguments() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isNumber(3/2, 1/3, 3/1)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testIsNumberWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isNumber(&#039;[var=j]&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testIsNumberWithMissingInput() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isNumber(&#039;[pos=42]&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=IsLinearlyIndependent&amp;diff=1801</id>
		<title>IsLinearlyIndependent</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=IsLinearlyIndependent&amp;diff=1801"/>
		<updated>2017-09-18T11:03:38Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
Die Funktion &#039;&#039;isLinearlyIndependent&#039;&#039; testet, ob Vektoren linear unabhägig sind. Die Funktion erwartet eine Menge von Vektoren und gibt einen boolean zurück.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
  isLinearlyIndependent(String vektoren)&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;vektoren&#039;&#039;&#039; - Menge von Vektoren, die auf lineare Unabhängigkeit geprüft werden sollen&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt einen boolean zurück&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
  isLinearlyIndependent(set(vector(1,1), vector(1,2)))    --&amp;gt; returns true&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	&lt;br /&gt;
		// set(vector(1,2,3),vector(3,3,3))&lt;br /&gt;
		isLinearlyIndependentFillInVariableMap.put(1, OMConverter.toObject(&lt;br /&gt;
				&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMA&amp;gt;&amp;lt;OMS cd=&#039;list1&#039; name=&#039;list&#039;/&amp;gt;&amp;lt;OMA&amp;gt;&amp;lt;OMS cd=&#039;linalg2&#039; name=&#039;vector&#039;/&amp;gt;&amp;lt;OMI&amp;gt;1&amp;lt;/OMI&amp;gt;&amp;lt;OMI&amp;gt;2&amp;lt;/OMI&amp;gt;&amp;lt;OMI&amp;gt;3&amp;lt;/OMI&amp;gt;&amp;lt;/OMA&amp;gt;&amp;lt;OMA&amp;gt;&amp;lt;OMS cd=&#039;linalg2&#039; name=&#039;vector&#039;/&amp;gt;&amp;lt;OMI&amp;gt;3&amp;lt;/OMI&amp;gt;&amp;lt;OMI&amp;gt;3&amp;lt;/OMI&amp;gt;&amp;lt;OMI&amp;gt;3&amp;lt;/OMI&amp;gt;&amp;lt;/OMA&amp;gt;&amp;lt;/OMA&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		isLinearlyIndependentFillInVariableMap.put(2, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;1&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
		// set(vector(1,2,3),vector(3,3,3))&lt;br /&gt;
		isLinearlyIndependentExerciseVariableMap.put(&amp;quot;a&amp;quot;, OMConverter.toObject(&lt;br /&gt;
				&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMA&amp;gt;&amp;lt;OMS cd=&#039;list1&#039; name=&#039;list&#039;/&amp;gt;&amp;lt;OMA&amp;gt;&amp;lt;OMS cd=&#039;linalg2&#039; name=&#039;vector&#039;/&amp;gt;&amp;lt;OMI&amp;gt;1&amp;lt;/OMI&amp;gt;&amp;lt;OMI&amp;gt;2&amp;lt;/OMI&amp;gt;&amp;lt;OMI&amp;gt;3&amp;lt;/OMI&amp;gt;&amp;lt;/OMA&amp;gt;&amp;lt;OMA&amp;gt;&amp;lt;OMS cd=&#039;linalg2&#039; name=&#039;vector&#039;/&amp;gt;&amp;lt;OMI&amp;gt;3&amp;lt;/OMI&amp;gt;&amp;lt;OMI&amp;gt;3&amp;lt;/OMI&amp;gt;&amp;lt;OMI&amp;gt;3&amp;lt;/OMI&amp;gt;&amp;lt;/OMA&amp;gt;&amp;lt;/OMA&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		isLinearlyIndependentExerciseVariableMap.put(&amp;quot;b&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;1&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsLinearlyIndependent1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;isLinearlyIndependent(set(vector(1,1), vector(1,2)))&amp;quot;,&lt;br /&gt;
			isLinearlyIndependentExerciseVariableMap, isLinearlyIndependentFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsLinearlyIndependent2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;isLinearlyIndependent(set(vector(1)))&amp;quot;,&lt;br /&gt;
			isLinearlyIndependentExerciseVariableMap, isLinearlyIndependentFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsLinearlyIndependent3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;isLinearlyIndependent(set(vector(1,1,0), vector(1,1,1)))&amp;quot;,&lt;br /&gt;
			isLinearlyIndependentExerciseVariableMap, isLinearlyIndependentFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsLinearlyIndependent4() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&lt;br /&gt;
			&amp;quot;isLinearlyIndependent(set(vector(1,0,0), vector(1,1,1), vector(1.5, 1.5, 1.8)))&amp;quot;,&lt;br /&gt;
			isLinearlyIndependentExerciseVariableMap, isLinearlyIndependentFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsLinearlyIndependent5() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;isLinearlyIndependent(set(vector(1,2,3), vector(3,3,3)))&amp;quot;,&lt;br /&gt;
			isLinearlyIndependentExerciseVariableMap, isLinearlyIndependentFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsLinearlyIndependentWithInput1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;isLinearlyIndependent(set(vector(1,[pos=2],0), vector(1,1,[pos=2])))&amp;quot;,&lt;br /&gt;
			isLinearlyIndependentExerciseVariableMap, isLinearlyIndependentFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsLinearlyIndependentWithInput2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;isLinearlyIndependent(&#039;[pos=1]&#039;)&amp;quot;,&lt;br /&gt;
			isLinearlyIndependentExerciseVariableMap, isLinearlyIndependentFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsLinearlyIndependentWithVariables1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;isLinearlyIndependent(set(vector(1,[var=b],0), vector(1,1,[var=b])))&amp;quot;,&lt;br /&gt;
			isLinearlyIndependentExerciseVariableMap, isLinearlyIndependentFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsLinearlyIndependentWithVariables2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;isLinearlyIndependent(&#039;[var=a]&#039;)&amp;quot;,&lt;br /&gt;
			isLinearlyIndependentExerciseVariableMap, isLinearlyIndependentFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = ParserException.class)&lt;br /&gt;
public void TestIsLinearlyIndependentWithWrongInputONECharacter() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isLinearlyIndependent(ba)&amp;quot;, isLinearlyIndependentExerciseVariableMap,&lt;br /&gt;
			isLinearlyIndependentFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testIsLinearlyIndependentWithEmptyStringArgument() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isLinearlyIndependent(&#039;&#039;)&amp;quot;, isLinearlyIndependentExerciseVariableMap,&lt;br /&gt;
			isLinearlyIndependentFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testIsLinearlyIndependentWithEmptyArgument() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isLinearlyIndependent()&amp;quot;, isLinearlyIndependentExerciseVariableMap,&lt;br /&gt;
			isLinearlyIndependentFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testIsLinearlyIndependentWithoutExerciseVariable() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isLinearlyIndependent(&#039;[var=j]&#039;)&amp;quot;, isLinearlyIndependentExerciseVariableMap,&lt;br /&gt;
			isLinearlyIndependentFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testIsLinearlyIndependentWithoutInput() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isLinearlyIndependent(&#039;[pos=42]&#039;)&amp;quot;, isLinearlyIndependentExerciseVariableMap,&lt;br /&gt;
			isLinearlyIndependentFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
* Die Funktionen [[Set]] und [[vector]] setzen die Vektoren in die richtige Schreibweise.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=IsFraction&amp;diff=1800</id>
		<title>IsFraction</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=IsFraction&amp;diff=1800"/>
		<updated>2017-09-18T11:03:18Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;isFraction&#039;&#039; prüft, ob es sich bei einem String bezüglich des Aufbaus um einen Bruch handelt. Die Funktion erwartet einen String, der darauf geprüft wird, ob er wie ein Bruch aufgebaut ist, und gibt einen Boolean zurück.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 isFraction(String zeichenkette)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;zeichenkette&#039;&#039;&#039; - der zu prüfende String&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt einen Boolean zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 isFraction(&#039;7/9&#039;)   --&amp;gt; returns true&lt;br /&gt;
 isFraction(&#039;10.76&#039;)   --&amp;gt; returns false&lt;br /&gt;
&lt;br /&gt;
==== Benutzung von Variablen ====&lt;br /&gt;
 isFraction(&#039;[pos=1]&#039;)&lt;br /&gt;
 isFraction(&#039;[var=a]&#039;)&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	OMOBJ six = new OMOBJ();&lt;br /&gt;
	six.setOMI(OMCreator.createOMI(6));&lt;br /&gt;
&lt;br /&gt;
	exerVar.put(&amp;quot;a&amp;quot;, OMConverter&lt;br /&gt;
			.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMA&amp;gt;&amp;lt;OMS name=\&amp;quot;divide\&amp;quot; cd=\&amp;quot;arith1\&amp;quot; /&amp;gt;&amp;lt;OMI&amp;gt;1&amp;lt;/OMI&amp;gt;&amp;lt;OMI&amp;gt;5&amp;lt;/OMI&amp;gt;&amp;lt;/OMA&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	exerVar.put(&amp;quot;b&amp;quot;, OMConverter&lt;br /&gt;
			.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMA&amp;gt;&amp;lt;OMS name=\&amp;quot;divide\&amp;quot; cd=\&amp;quot;arith1\&amp;quot; /&amp;gt;&amp;lt;OMI&amp;gt;10&amp;lt;/OMI&amp;gt;&amp;lt;OMI&amp;gt;2&amp;lt;/OMI&amp;gt;&amp;lt;/OMA&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	exerVar.put(&amp;quot;c&amp;quot;, OMConverter&lt;br /&gt;
			.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMA&amp;gt;&amp;lt;OMS name=\&amp;quot;divide\&amp;quot; cd=\&amp;quot;arith1\&amp;quot; /&amp;gt;&amp;lt;OMI&amp;gt;7&amp;lt;/OMI&amp;gt;&amp;lt;OMI&amp;gt;9&amp;lt;/OMI&amp;gt;&amp;lt;/OMA&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	exerVar.put(&amp;quot;d&amp;quot;, six);&lt;br /&gt;
&lt;br /&gt;
	fillIn.put(1, OMConverter&lt;br /&gt;
			.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMA&amp;gt;&amp;lt;OMS name=\&amp;quot;divide\&amp;quot; cd=\&amp;quot;arith1\&amp;quot; /&amp;gt;&amp;lt;OMI&amp;gt;1&amp;lt;/OMI&amp;gt;&amp;lt;OMI&amp;gt;5&amp;lt;/OMI&amp;gt;&amp;lt;/OMA&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	fillIn.put(2, OMConverter&lt;br /&gt;
			.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMA&amp;gt;&amp;lt;OMS name=\&amp;quot;divide\&amp;quot; cd=\&amp;quot;arith1\&amp;quot; /&amp;gt;&amp;lt;OMI&amp;gt;10&amp;lt;/OMI&amp;gt;&amp;lt;OMI&amp;gt;2&amp;lt;/OMI&amp;gt;&amp;lt;/OMA&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	fillIn.put(3, OMConverter&lt;br /&gt;
			.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMA&amp;gt;&amp;lt;OMS name=\&amp;quot;divide\&amp;quot; cd=\&amp;quot;arith1\&amp;quot; /&amp;gt;&amp;lt;OMI&amp;gt;7&amp;lt;/OMI&amp;gt;&amp;lt;OMI&amp;gt;9&amp;lt;/OMI&amp;gt;&amp;lt;/OMA&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	fillIn.put(4, six);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsFraction1() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isFraction(1/3)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsFraction2() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isFraction(7/10)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsFraction3() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isFraction(90/65)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsFraction4() {&lt;br /&gt;
	assertEquals(true, !Evaluator.getBooleanResult(&amp;quot;isFraction(1)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsFraction5() {&lt;br /&gt;
	assertEquals(true, !Evaluator.getBooleanResult(&amp;quot;isFraction(10.76)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsFractionWithInput1() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isFraction([pos=1])&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsFractionWithInput2() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isFraction([pos=2])&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsFractionWithInput3() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isFraction([pos=3])&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsFractionWithInput4() {&lt;br /&gt;
	assertEquals(true, !Evaluator.getBooleanResult(&amp;quot;isFraction([pos=4])&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsFractionWithVariables1() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isFraction([var=a])&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsFractionWithVariables2() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isFraction([var=b])&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsFractionWithVariables3() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isFraction([var=c])&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsFractionWithVariables4() {&lt;br /&gt;
	assertEquals(true, !Evaluator.getBooleanResult(&amp;quot;isFraction([var=d])&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testIsFractionWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isFraction(a)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testIsFractionWithTwoArguments() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isFraction(3/2 , 0)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testIsFractionWithThreeArguments() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isFraction(3/2, 1/3, 3/1)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testIsFractionWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isFraction(&#039;[var=j]&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testIsFractionWithMissingInput() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isFraction(&#039;[pos=42]&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
* Auch wenn sich jede rationale Zahl natürlich als Bruch darstellen lässt, wird bei dieser Funktion explizit der Aufbau des Strings überprüft.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=IsEmpty&amp;diff=1799</id>
		<title>IsEmpty</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=IsEmpty&amp;diff=1799"/>
		<updated>2017-09-18T11:02:53Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;isEmpty&#039;&#039; prüft ob eine gegebene Zeichenkette leer ist, also entweder keine Zeichen oder ausschließlich Leerzeichen beinhaltet. Die Funktion erwartet einen String und gibt einen Boolean zurück. &lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 isEmpty(String zeichenkette)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;zeichenkette&#039;&#039;&#039; - String, der auf leeren Inhalt geprüft wird&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt einen Boolean zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 isEmpty(&#039;  &#039;)   --&amp;gt; returns true&lt;br /&gt;
 isEmpty(&#039;nichtleer&#039;)   --&amp;gt; returns false&lt;br /&gt;
&lt;br /&gt;
==== Benutzung von Variablen ====&lt;br /&gt;
 isEmpty(&#039;[pos=1]&#039;)&lt;br /&gt;
 isEmpty(&#039;[var=a]&#039;)&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	OMOBJ one = new OMOBJ();&lt;br /&gt;
	one.setOMI(OMCreator.createOMI(1));&lt;br /&gt;
	fillIn.put(2, one);&lt;br /&gt;
	exerVar.put(&amp;quot;b&amp;quot;, one);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsEmpty1() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;isEmpty(&#039;&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsEmpty2() {&lt;br /&gt;
	assertEquals(false, Evaluator.getBooleanResult(&amp;quot;isEmpty(&#039;   &#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsEmpty3() {&lt;br /&gt;
	assertEquals(false, Evaluator.getBooleanResult(&amp;quot;isEmpty(&#039;a&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsEmpty4() {&lt;br /&gt;
	assertEquals(false, Evaluator.getBooleanResult(&amp;quot;isEmpty(&#039;5&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsEmptyWithInput() {&lt;br /&gt;
	assertEquals(false, Evaluator.getBooleanResult(&amp;quot;isEmpty(&#039;[pos=2]&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsEmptyWithVariables() {&lt;br /&gt;
	assertEquals(false, Evaluator.getBooleanResult(&amp;quot;isEmpty(&#039;[var=b]&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIsEmptyWithWrongInputCharacter() {&lt;br /&gt;
	assertEquals(false, Evaluator.getBooleanResult(&amp;quot;isEmpty(a)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testIsEmptyWithTwoArguments() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isEmpty(&#039;a&#039;, 0)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testIsEmptyWithThreeArguments() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isEmpty(&#039;string&#039;, 1, 3)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testIsEmptyWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isEmpty(&#039;[var=j]&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testIsEmptyWithMissingInput() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;isEmpty(&#039;[pos=42]&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Integrate&amp;diff=1798</id>
		<title>Integrate</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Integrate&amp;diff=1798"/>
		<updated>2017-09-18T11:02:34Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
Die Funktion &#039;&#039;integrate&#039;&#039; integriert eine Funktion. Sie erwartet zwei Strings, den Ausdruck der integriert werden soll und die Variable nach der integriert werden soll. Die Funktion gibt einen String zurück.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 integrate(String term, String variable)&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;term&#039;&#039;&#039; - die Funktion die integriert werden soll&lt;br /&gt;
* &#039;&#039;&#039;variable&#039;&#039;&#039; - die Variable nach der integriert werden soll&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt den String zurück der die integrierte Funktion darstellt.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 integrate(&#039;2&#039;,&#039;x&#039;)    --&amp;gt; returns 2x&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() throws FunctionNotImplementedException, UndefinedFillInVariableException,&lt;br /&gt;
		UndefinedExerciseVariableException, ParserException, ErroneousFillInVariableException, ErroneousExerciseVariableException {&lt;br /&gt;
	integrateFillInVariableMap.put(1, ExpressionParser.parse(&amp;quot;2&amp;quot;, null, null));&lt;br /&gt;
	integrateFillInVariableMap.put(2, ExpressionParser.parse(&amp;quot;1&amp;quot;, null, null));&lt;br /&gt;
&lt;br /&gt;
	integrateExerciseVariableMap.put(&amp;quot;a&amp;quot;, ExpressionParser.parse(&amp;quot;2&amp;quot;, null, null));&lt;br /&gt;
	integrateExerciseVariableMap.put(&amp;quot;b&amp;quot;, ExpressionParser.parse(&amp;quot;1&amp;quot;, null, null));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIntegrate1() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;2*x&amp;quot;, null, null), Evaluator.evaluate(&lt;br /&gt;
			&amp;quot;integrate(&#039;2&#039;,&#039;x&#039;)&amp;quot;, integrateExerciseVariableMap, integrateFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIntegrate2() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;2*y&amp;quot;, null, null), Evaluator.evaluate(&lt;br /&gt;
			&amp;quot;integrate(&#039;2&#039;,&#039;y&#039;)&amp;quot;, integrateExerciseVariableMap, integrateFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIntegrateWithInput1() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;2*x&amp;quot;, null, null), Evaluator.evaluate(&lt;br /&gt;
			&amp;quot;integrate(&#039;[pos=1]&#039;,&#039;x&#039;)&amp;quot;, integrateExerciseVariableMap, integrateFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIntegrateWithInput2() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;y&amp;quot;, null, null), Evaluator.evaluate(&lt;br /&gt;
			&amp;quot;integrate(&#039;[pos=2]&#039;,&#039;y&#039;)&amp;quot;, integrateExerciseVariableMap, integrateFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIntegrateWithVariables1() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;2*x&amp;quot;, null, null), Evaluator.evaluate(&lt;br /&gt;
			&amp;quot;integrate(&#039;[var=a]&#039;,&#039;x&#039;)&amp;quot;, integrateExerciseVariableMap, integrateFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIntegrateWithVariables2() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;y&amp;quot;, null, null), Evaluator.evaluate(&lt;br /&gt;
			&amp;quot;integrate(&#039;[var=b]&#039;,&#039;y&#039;)&amp;quot;, integrateExerciseVariableMap, integrateFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIntegrateWithONECharacter() {&lt;br /&gt;
	ArrayList&amp;lt;Object&amp;gt; rational = new ArrayList&amp;lt;&amp;gt;();&lt;br /&gt;
	rational.add(OMCreator.createOMI(1));&lt;br /&gt;
	rational.add(OMCreator.createOMI(2));&lt;br /&gt;
	&lt;br /&gt;
	ArrayList&amp;lt;Object&amp;gt; power = new ArrayList&amp;lt;&amp;gt;();&lt;br /&gt;
	power.add(OMCreator.createOMV(&amp;quot;a&amp;quot;));&lt;br /&gt;
	power.add(OMCreator.createOMI(2));&lt;br /&gt;
	&lt;br /&gt;
	ArrayList&amp;lt;Object&amp;gt; expected = new ArrayList&amp;lt;&amp;gt;();&lt;br /&gt;
	expected.add(OMCreator.createOMA(OMSymbol.NUMS1_RATIONAL, rational));&lt;br /&gt;
	expected.add(OMCreator.createOMA(OMSymbol.ARITH1_POWER, power));&lt;br /&gt;
	&lt;br /&gt;
	OMOBJ expect = OMCreator.createOMOBJ(OMCreator.createOMA(OMSymbol.ARITH1_TIMES, expected));&lt;br /&gt;
	//Creating OMOBJ (1/2)*(a^2)  --&amp;gt; This is also a correct answer!&lt;br /&gt;
	&lt;br /&gt;
	assertEquals(expect, Evaluator.evaluate(&lt;br /&gt;
			&amp;quot;integrate(a, a)&amp;quot;, integrateExerciseVariableMap, integrateFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testIntegrateWithEmptyStringArguments() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;integrate(&#039;&#039;,&#039;&#039;)&amp;quot;, integrateExerciseVariableMap,&lt;br /&gt;
			integrateFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testIntegrateWithEmptyArgument() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;integrate()&amp;quot;, integrateExerciseVariableMap, integrateFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testIntegrateWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;integrate(&#039;y&#039;, &#039;[var=j]&#039;)&amp;quot;, integrateExerciseVariableMap,&lt;br /&gt;
			integrateFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testIntegrateWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;integrate(&#039;y&#039;, &#039;[pos=42]&#039;)&amp;quot;, integrateExerciseVariableMap,&lt;br /&gt;
			integrateFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=IndexOf&amp;diff=1797</id>
		<title>IndexOf</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=IndexOf&amp;diff=1797"/>
		<updated>2017-09-18T11:02:13Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;indexOf&#039;&#039; bestimmt die Position, an der eine Zeichenkette oder ein einzelnes Zeichen innerhalb einer anderen Zeichenkette das erste Mal vorkommt. Außerdem muss angegeben werden, ab welcher Stelle gesucht werden soll. Die Funktion erwartet zwei Strings, die zu durchsuchende und die zu suchende Zeichenkette, und eine Ganzzahl, ab welcher Stelle die Suche beginnen soll. Es wird eine Ganzzahl zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 indexOf(String zeichenkette, String muster, int position)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;zeichenkette&#039;&#039;&#039; - Zeichenkette in dem gesucht wird&lt;br /&gt;
* &#039;&#039;&#039;muster&#039;&#039;&#039; - Zeichenkette, die innnerhalb der ersten gesucht wird&lt;br /&gt;
* &#039;&#039;&#039;position&#039;&#039;&#039; - Startpositition der Suche&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt eine Ganzzahl zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 indexOf(&#039;Hello World!&#039;,&#039;o&#039;,0)   --&amp;gt; returns 4&lt;br /&gt;
 indexOf(&#039;Hello World!&#039;,&#039;o&#039;,6)   --&amp;gt; returns 7&lt;br /&gt;
&lt;br /&gt;
==== Benutzung von Variablen ====&lt;br /&gt;
 indexOf(&#039;[pos=1]&#039;,&#039;x&#039;,0)&lt;br /&gt;
 indexOf(&#039;text&#039;,&#039;[var=a]&#039;,0)&lt;br /&gt;
 indexOf(&#039;[var=b]&#039;,&#039;x&#039;,[pos=2])&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	&lt;br /&gt;
		fillInVariableMap.put(7, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;str&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		fillInVariableMap.put(8, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;anotherstring&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		fillInVariableMap.put(9, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;2&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;g&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;str&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;h&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;anotherstring&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;i&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;2&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIndexOf1() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;indexOf(&#039;abcdef&#039;,&#039;def&#039;, 0)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIndexOf2() {&lt;br /&gt;
	assertEquals(4, Evaluator.getNumberResult(&amp;quot;indexOf(&#039;abc def&#039;,&#039;def&#039;, 2)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIndexOf3() {&lt;br /&gt;
	assertEquals(4, Evaluator.getNumberResult(&amp;quot;indexOf(&#039;abc_def&#039;,&#039;def&#039;, 3)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIndexOf4() {&lt;br /&gt;
	assertEquals(4, Evaluator.getNumberResult(&amp;quot;indexOf(&#039;2 c 4e6&#039;,&#039;4e6&#039;, 1)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test (expected=FunctionInvalidArgumentException.class)&lt;br /&gt;
public void testIndexOf5() {&lt;br /&gt;
	assertEquals(-1, Evaluator.getNumberResult(&amp;quot;indexOf(&#039;2c4e 6&#039;,&#039;4e6&#039;, -1)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIndexOfWithInput1() {&lt;br /&gt;
	assertEquals(7, Evaluator.getNumberResult(&amp;quot;indexOf(&#039;[pos=8]&#039;,&#039;str&#039;, 3)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIndexOfWithInput2() {&lt;br /&gt;
	assertEquals(7, Evaluator.getNumberResult(&amp;quot;indexOf(&#039;[pos=8]&#039;,&#039;[pos=7]&#039;, 2)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIndexOfWithInput3() {&lt;br /&gt;
	assertEquals(7, Evaluator.getNumberResult(&amp;quot;indexOf(&#039;[pos=8]&#039;,&#039;[pos=7]&#039;, [pos=9])&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIndexOfWithVariables1() {&lt;br /&gt;
	assertEquals(7, Evaluator.getNumberResult(&amp;quot;indexOf(&#039;[var=h]&#039;,&#039;str&#039;, 3)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIndexOfWithVariables2() {&lt;br /&gt;
	assertEquals(7, Evaluator.getNumberResult(&amp;quot;indexOf(&#039;[var=h]&#039;,&#039;[var=g]&#039;, 2)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIndexOfWithVariables3() {&lt;br /&gt;
	assertEquals(7, Evaluator.getNumberResult(&amp;quot;indexOf(&#039;[var=h]&#039;,&#039;[var=g]&#039;, [var=i])&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIndexOfWithArgumentAsInputPointNumber() {&lt;br /&gt;
	assertEquals(OMCreator.createOMI(-1),Evaluator.evaluate(&amp;quot;indexOf(&#039;abcdr5&#039;, 5.1, 1)&amp;quot;, exerciseVariableMap, fillInVariableMap).getOMI());	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIndexOfWithWrongInputCharacter() {&lt;br /&gt;
	assertEquals(-1, Evaluator.getNumberResult(&amp;quot;indexOf(&#039;abcd5&#039;, a, 1)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIndexOfWithTwoRationalAndOneTextArguments() {&lt;br /&gt;
	assertEquals(4, Evaluator.getNumberResult(&amp;quot;indexOf(&#039;abcd5&#039;, 5, 1)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIndexOfWithThreeRationalArguments() {&lt;br /&gt;
	assertEquals(0,Evaluator.getNumberResult(&amp;quot;indexOf(5, 5, 0)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIndexOfWithThreeTextArguments() {&lt;br /&gt;
	assertEquals(3.0 , Evaluator.getNumberResult(&amp;quot;indexOf(&#039;abcstr&#039;, &#039;str&#039;, &#039;0&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap),0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testIndexOfWithOneArgument() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;indexOf(1)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIndexOfWithTwoArguments() {&lt;br /&gt;
	assertEquals(OMCreator.createOMI(-1),Evaluator.evaluate(&amp;quot;indexOf(&#039;string&#039;, 1)&amp;quot;, exerciseVariableMap, fillInVariableMap).getOMI());&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testIndexOfWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;indexOf(&#039;[var=j]&#039;, &#039;str&#039;, 2)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=UndefinedFillInVariableException.class)&lt;br /&gt;
public void testIndexOfWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;indexOf(&#039;[pos=42]&#039;, &#039;str&#039;, 2)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
* Die Nummerierung innerhalb der Zeichenkette beginnt mit 0.&lt;br /&gt;
* Sollte die gesuchte Zeichenkette nicht gefunden werden, gibt die Funktion -1 zurück.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Ifthenelse&amp;diff=1796</id>
		<title>Ifthenelse</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Ifthenelse&amp;diff=1796"/>
		<updated>2017-09-18T11:01:37Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;ifthenelse&#039;&#039; wählt zwischen zwei Zeichenketten, abhängig vom logischen Wahrheitsgehalt einer gegebenen Aussage. Als Aussage sind rationale Zahlen, sowie mathematische Terme und Un-/Gleichungen zulässig. Zahlen ungleich 0 werden als &#039;&#039;wahr&#039;&#039;, 0 wird zu &#039;&#039;falsch&#039;&#039; ausgewertet.&lt;br /&gt;
&lt;br /&gt;
Die Funktion erwartet eine Aussage, die sich zu &#039;&#039;wahr&#039;&#039; oder &#039;&#039;falsch&#039;&#039; auswerten lässt, einen String, der zurückgegeben wird, falls die Aussage &#039;&#039;wahr&#039;&#039; ist, und einen String, der zurückgegeben wird, falls die Aussage &#039;&#039;falsch&#039;&#039; ist. Es wird ein String zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 ifthenelse(String aussage, String wahrAussage, String falschAussage)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;aussage&#039;&#039;&#039; -  logisch auzuwertende Aussage&lt;br /&gt;
* &#039;&#039;&#039;wahrAussage&#039;&#039;&#039; - String, der im Falle einer wahren Aussage zurückgegeben wird&lt;br /&gt;
* &#039;&#039;&#039;falschAussage&#039;&#039;&#039; - String, der im Falle einer falschen Aussage zurückgegeben wird&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt einen String zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 ifthenelse(&#039;1&#039;,&#039;wahr&#039;,&#039;falsch&#039;)   --&amp;gt; returns wahr&lt;br /&gt;
 ifthenelse(&#039;5*2+5==5*3&#039;,&#039;a&#039;,&#039;b&#039;)   --&amp;gt; returns a&lt;br /&gt;
&lt;br /&gt;
==== Benutzung von Variablen ====&lt;br /&gt;
 ifthenelse(&#039;[pos=1]&#039;,&#039;then&#039;,&#039;else&#039;)&lt;br /&gt;
 ifthenelse(&#039;15&#039;,&#039;[var=a]&#039;,&#039;text&#039;)&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	&lt;br /&gt;
		fillInVariableMap.put(7, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;test&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;g&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMSTR&amp;gt;test&amp;lt;/OMSTR&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIfthenelse1() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;&#039;else&#039;&amp;quot;, null, null),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;ifthenelse(0, &#039;then&#039;, &#039;else&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIfthenelse2() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;&#039;then&#039;&amp;quot;, null, null),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;ifthenelse(1, &#039;then&#039;, &#039;else&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIfthenelse3() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;&#039;five&#039;&amp;quot;, null, null),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;ifthenelse(5.7, &#039;five&#039;, &#039;notFive&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIfthenelseWithInput1() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;&#039;else&#039;&amp;quot;, null, null),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;ifthenelse([pos=1], &#039;then&#039;, &#039;else&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIfthenelseWithInput2() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;&#039;test&#039;&amp;quot;, null, null),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;ifthenelse(1, &#039;[pos=7]&#039;, &#039;else&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIfthenelseWithInput3() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;&#039;test&#039;&amp;quot;, null, null), Evaluator&lt;br /&gt;
			.evaluate(&amp;quot;ifthenelse([pos=2], &#039;[pos=7]&#039;, &#039;notFive&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIfthenelseWithVariables1() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;&#039;else&#039;&amp;quot;, null, null),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;ifthenelse([var=a], &#039;then&#039;, &#039;else&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIfthenelseWithVariables2() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;&#039;test&#039;&amp;quot;, null, null),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;ifthenelse(1, &#039;[var=g]&#039;, &#039;else&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIfthenelseWithVariables3() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;&#039;test&#039;&amp;quot;, null, null), Evaluator&lt;br /&gt;
			.evaluate(&amp;quot;ifthenelse([var=b], &#039;[var=g]&#039;, &#039;notFive&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIfthenelseWithExpressions1() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;a&amp;quot;, null, null),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;ifthenelse(&#039;5*2 +5 == 5*3&#039;, &#039;a&#039;, &#039;b&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIfthenelseWithExpressions2() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;b&amp;quot;, null, null), Evaluator&lt;br /&gt;
			.evaluate(&amp;quot;ifthenelse(ifthenelse(0, &#039;1&#039;, &#039;0&#039;), &#039;a&#039;, &#039;b&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = ParserException.class)&lt;br /&gt;
public void testIfthenelseWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;ifthenelse(ab, &#039;a&#039;, &#039;b&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIfthenelseWithTwoRationalAndOneTextArgument() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;0&amp;quot;, null, null), Evaluator.evaluate(&amp;quot;ifthenelse(1, 0, &#039;b&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIfthenelseWithThreeRationalArguments() {&lt;br /&gt;
	assertEquals(ExpressionParser.parse(&amp;quot;0&amp;quot;, null, null), Evaluator.evaluate(&amp;quot;ifthenelse(1, 0, 7)&amp;quot;, exerciseVariableMap, fillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testIfthenelseWithOneArgument() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;ifthenelse(1)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testIfthenelseWithTwoArguments() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;ifthenelse(0, &#039;this&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testIfthenelseWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;ifthenelse(&#039;[var=j]&#039;, &#039;a&#039;, &#039;b&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testIfthenelseWithMissingInput() {&lt;br /&gt;
	Evaluator.evaluate(&amp;quot;ifthenelse(&#039;[pos=42]&#039;, &#039;a&#039;, &#039;b&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
* Zahlen ungleich 0 werden zu &#039;&#039;wahr&#039;&#039; ausgewertet.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=IEEERemainder&amp;diff=1795</id>
		<title>IEEERemainder</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=IEEERemainder&amp;diff=1795"/>
		<updated>2017-09-18T11:01:18Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
Die Funktion &#039;&#039;IEEEremainder&#039;&#039; berechnet die Remainder-Operation auf zwei Argumente, wie es in dem IEEE 745 Standtard beschrieben ist [https://de.wikipedia.org/wiki/IEEE_754#Aritmetik_und_Quadratwurzel]. Die Funktion erwartet zwei Zahlen und gibt das entsprechende Ergebnis zurück.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 IEEEremainder(float f1, float f2)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;f1&#039;&#039;&#039; - Zähler&lt;br /&gt;
* &#039;&#039;&#039;f2&#039;&#039;&#039; - Nenner&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
*Gibt den Rest-Wert zurück, wenn f1 durch f2 geteilt wird&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 IEEEremainder(4,2)   --&amp;gt; returns 0&lt;br /&gt;
 IEEEremainder(3,2)   --&amp;gt; returns -1&lt;br /&gt;
&lt;br /&gt;
==== Benutzung mit Variablen ====&lt;br /&gt;
 IEEEremainder([pos=1],[pos=2])&lt;br /&gt;
 IEEEremainder([var=a],[var=b])&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	&lt;br /&gt;
		fillInVariableMap.put(1, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;0&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		fillInVariableMap.put(2, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;20&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		fillInVariableMap.put(3, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;-10&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;a&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;0&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;b&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;20&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
		exerciseVariableMap.put(&amp;quot;c&amp;quot;, OMConverter.toObject(&amp;quot;&amp;lt;OMOBJ&amp;gt;&amp;lt;OMI&amp;gt;-10&amp;lt;/OMI&amp;gt;&amp;lt;/OMOBJ&amp;gt;&amp;quot;));&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIEEERemainder1() {&lt;br /&gt;
	assertEquals(-1, Evaluator.getNumberResult(&amp;quot;IEEEremainder(3, 2)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIEEERemainder2() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;IEEEremainder(4, 2)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIEEERemainder3() {&lt;br /&gt;
	assertEquals(1, Evaluator.getNumberResult(&amp;quot;IEEEremainder(10, 3)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIEEERemainder4() {&lt;br /&gt;
	assertEquals(-1, Evaluator.getNumberResult(&amp;quot;IEEEremainder(11, 3)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIEEERemainder5() {&lt;br /&gt;
	assertEquals(-1, Evaluator.getNumberResult(&amp;quot;IEEEremainder(27, 4)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIEEERemainder6() {&lt;br /&gt;
	assertEquals(-2, Evaluator.getNumberResult(&amp;quot;IEEEremainder(28, 5)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test // It returns for Example 1.800000000XXX not 1.8&lt;br /&gt;
public void testIEEERemainderWithPointNumberResults1() {&lt;br /&gt;
	assertEquals(1.8, Evaluator.getNumberResult(&amp;quot;IEEEremainder(17.8, 4)&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.00001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIEEERemainderWithPointNumberResults2() {&lt;br /&gt;
	assertEquals(1.4, Evaluator.getNumberResult(&amp;quot;IEEEremainder(17.8, 4.1)&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0.00001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIEEERemainderWithPointNumberResults3() {&lt;br /&gt;
	assertEquals(0.1,&lt;br /&gt;
			Evaluator.getNumberResult(&amp;quot;IEEEremainder(-16.3, 4.1)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.00001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIEEERemainderWithPointNumberResults4() {&lt;br /&gt;
	assertEquals(1.4,&lt;br /&gt;
			Evaluator.getNumberResult(&amp;quot;IEEEremainder(17.8, -4.1)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.00001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIEEERemainderWithPointNumberResults5() {&lt;br /&gt;
	assertEquals(-1.4,&lt;br /&gt;
			Evaluator.getNumberResult(&amp;quot;IEEEremainder(-17.8, -4.1)&amp;quot;, exerciseVariableMap, fillInVariableMap), 0.00001);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIEEERemainderWithInput1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;IEEEremainder([pos=1], 4)&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIEEERemainderWithInput2() {&lt;br /&gt;
	assertEquals(0,&lt;br /&gt;
			Evaluator.getNumberResult(&amp;quot;IEEEremainder([pos=2], [pos=3])&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIEEERemainderWithVariables1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;IEEEremainder([var=a], 4)&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIEEERemainderWithVariables2() {&lt;br /&gt;
	assertEquals(0,&lt;br /&gt;
			Evaluator.getNumberResult(&amp;quot;IEEEremainder([var=b], [var=c])&amp;quot;, exerciseVariableMap, fillInVariableMap),&lt;br /&gt;
			0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIEEERemainderWithExpressions1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;IEEEremainder(&#039;15&#039;, &#039;IEEEremainder(10, 3)&#039;)&amp;quot;, exerciseVariableMap,&lt;br /&gt;
			fillInVariableMap), 0);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testIEEERemainderWithExpressions2() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;IEEEremainder(&#039;IEEEremainder(10, 3)&#039;, &#039;IEEEremainder(10, 3)&#039;)&amp;quot;,&lt;br /&gt;
			exerciseVariableMap, fillInVariableMap), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testIEEERemainderWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;IEEEremainder(17.8, a)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testIEEERemainderWithOneArgument() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;IEEEremainder(8)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testIEEERemainderWithThreeArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;IEEEremainder(3, 2, 8)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testIEEERemainderWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;IEEEremainder(&#039;[var=j]&#039;, &#039;3&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testIEEERemainderWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;IEEEremainder(&#039;[pos=42]&#039;, &#039;3&#039;)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentException.class)&lt;br /&gt;
public void testIEEERemainderAtZero() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;IEEEremainder(5, 0)&amp;quot;, exerciseVariableMap, fillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=GreaterThanOrEqual&amp;diff=1794</id>
		<title>GreaterThanOrEqual</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=GreaterThanOrEqual&amp;diff=1794"/>
		<updated>2017-09-18T10:59:11Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
Die Funktion &#039;&#039;greaterThanOrEqual&#039;&#039; vergleicht zwei Ausdrücke der Größe nach miteinander und gibt einen Wahrheitswert zurück, abhängig davon, ob der linksstehende Ausdruck größer-gleich dem rechtsstehenden Ausdruck ist.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 a &amp;gt;= b&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039; - double&lt;br /&gt;
* &#039;&#039;&#039;b&#039;&#039;&#039; - double&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt einen Boolean zurück.&lt;br /&gt;
*: Wenn der linke Ausdruck größer-gleich dem rechten Ausdruck ist, wird &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; zurückgegeben, andernfalls &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 &amp;lt;math&amp;gt;6 &amp;gt;= 3&amp;lt;/math&amp;gt;    --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;math&amp;gt;3 &amp;gt;= 3&amp;lt;/math&amp;gt;    --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;math&amp;gt;-1 &amp;gt;= 2&amp;lt;/math&amp;gt;    --&amp;gt; returns &#039;&#039;false&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() throws FunctionNotImplementedException, UndefinedFillInVariableException,&lt;br /&gt;
		UndefinedExerciseVariableException, ParserException, ErroneousFillInVariableException, ErroneousExerciseVariableException {&lt;br /&gt;
	greaterThanOrEqualFillInVariableMap.put(1, ExpressionParser.parse(&amp;quot;3&amp;quot;, null, null));&lt;br /&gt;
	greaterThanOrEqualFillInVariableMap.put(2, ExpressionParser.parse(&amp;quot;1&amp;quot;, null, null));&lt;br /&gt;
&lt;br /&gt;
	greaterThanOrEqualExerciseVariableMap.put(&amp;quot;a&amp;quot;, ExpressionParser.parse(&amp;quot;8&amp;quot;, null, null));&lt;br /&gt;
	greaterThanOrEqualExerciseVariableMap.put(&amp;quot;b&amp;quot;, ExpressionParser.parse(&amp;quot;25&amp;quot;, null, null));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqual1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;22&amp;gt;=8&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqual2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;8&amp;gt;=8&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqual3() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;2&amp;gt;=8&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqual4() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;9&amp;gt;=8&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqual5() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;7&amp;gt;=45&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqual6() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;7&amp;gt;=7&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqual7() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;0&amp;gt;=-0.2&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqual8() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;0&amp;gt;=0&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqualWithVariables1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;22&amp;gt;=[var=a]&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqualWithVariables2() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;2&amp;gt;=[var=a]&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqualWithVariables3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[var=b]&amp;gt;=8&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqualWithVariables4() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[var=a]&amp;gt;=8&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqualWithVariables5() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;23&amp;gt;=[var=b]&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqualWithVariables6() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[var=a]&amp;gt;=[var=a]&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqualWithVariables7() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[var=b]&amp;gt;=[var=a]&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqualWithVariables8() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;[var=a]&amp;gt;=[var=b]&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqualWithInput1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;22&amp;gt;=[pos=1]&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqualWithInput2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;3&amp;gt;=[pos=1]&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqualWithInput3() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;2&amp;gt;=[pos=1]&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqualWithInput4() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;5&amp;gt;=[pos=2]&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqualWithInput5() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;[pos=2]&amp;gt;=5&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqualWithInput6() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;[pos=2]&amp;gt;=[pos=1]&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqualWithEncapsulation1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;1 &amp;gt;= (1 &amp;gt;= 2)&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test &lt;br /&gt;
public void testGreaterThanOrEqualWithEncapsulation2() {&lt;br /&gt;
	assertFalse(Evaluator.getBooleanResult(&amp;quot;0 &amp;gt;= (0 &amp;gt;= (0 &amp;gt;= 1))&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test &lt;br /&gt;
public void testGreaterThanOrEqualWithEncapsulation3() {&lt;br /&gt;
	assertFalse(Evaluator.getBooleanResult(&amp;quot;0 &amp;gt;= (0 &amp;gt;= (0 &amp;gt;= (0 &amp;gt;= (0 &amp;gt;= 1))))&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanOrEqualWithEncapsulation4() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;((((1 &amp;gt;= 1) &amp;gt;= 1) &amp;gt;= 1) &amp;gt;= 1) &amp;gt;= 1&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap));&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=ParserException.class)&lt;br /&gt;
public void testGreaterThanOrEqualWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;6 &amp;gt;= ab&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testGreaterThanOrEqualWithWrongInputString() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;6 &amp;gt;= &#039;a&#039;&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test (expected=UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testGreaterThanOrEqualWithMissingExcerciseVariable() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;[var=j] &amp;gt;= 2&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test (expected=UndefinedFillInVariableException.class)&lt;br /&gt;
public void testGreaterThanOrEqualWithMissingInput() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;[pos=42] &amp;gt;= 2&amp;quot;, greaterThanOrEqualExerciseVariableMap, greaterThanOrEqualFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=GreaterThanOrEqual&amp;diff=1793</id>
		<title>GreaterThanOrEqual</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=GreaterThanOrEqual&amp;diff=1793"/>
		<updated>2017-09-18T10:58:38Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
Die Funktion &#039;&#039;greaterThanOrEqual&#039;&#039; vergleicht zwei Ausdrücke der Größe nach miteinander und gibt einen Wahrheitswert zurück, abhängig davon, ob der linksstehende Ausdruck größer-gleich dem rechtsstehenden Ausdruck ist.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 a &amp;gt;= b&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039; - double&lt;br /&gt;
* &#039;&#039;&#039;b&#039;&#039;&#039; - double&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt einen Boolean zurück.&lt;br /&gt;
*: Wenn der linke Ausdruck größer-gleich dem rechten Ausdruck ist, wird &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; zurückgegeben, andernfalls &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 &amp;lt;math&amp;gt;6 &amp;gt;= 3&amp;lt;/math&amp;gt;    --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;math&amp;gt;3 &amp;gt;= 3&amp;lt;/math&amp;gt;    --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;math&amp;gt;-1 &amp;gt;= 2&amp;lt;/math&amp;gt;    --&amp;gt; returns &#039;&#039;false&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() throws FunctionNotImplementedException, UndefinedFillInVariableException,&lt;br /&gt;
		UndefinedExerciseVariableException, ParserException, ErroneousFillInVariableException, ErroneousExerciseVariableException {&lt;br /&gt;
	greaterThanFillInVariableMap.put(1, ExpressionParser.parse(&amp;quot;3&amp;quot;, null, null));&lt;br /&gt;
	greaterThanFillInVariableMap.put(2, ExpressionParser.parse(&amp;quot;1&amp;quot;, null, null));&lt;br /&gt;
&lt;br /&gt;
	greaterThanExerciseVariableMap.put(&amp;quot;a&amp;quot;, ExpressionParser.parse(&amp;quot;8&amp;quot;, null, null));&lt;br /&gt;
	greaterThanExerciseVariableMap.put(&amp;quot;b&amp;quot;, ExpressionParser.parse(&amp;quot;25&amp;quot;, null, null));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThan1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;22&amp;gt;8&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThan2() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;2&amp;gt;8&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThan3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;5.7&amp;gt;3.5&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThan4() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;1&amp;gt;-1&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThan5() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;0.2&amp;gt;0&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithVariables1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[var=b]&amp;gt;8&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithVariables2() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;[var=a]&amp;gt;9&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithVariables3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[var=b]&amp;gt;[var=a]&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithVariables4() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;[var=a]&amp;gt;[var=b]&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithVariables5() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;22&amp;gt;[var=a]&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithVariables6() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;2&amp;gt;[var=a]&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithInput1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[pos=1]&amp;gt;2&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithInput2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;34&amp;gt;[pos=2]&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithInput3() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;[pos=2]&amp;gt;2&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithInput4() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[pos=1]&amp;gt;[pos=2]&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithInput5() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;[pos=2]&amp;gt;[pos=1]&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithInput6() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;22&amp;gt;[pos=1]&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithInput7() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;2&amp;gt;[pos=1]&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test &lt;br /&gt;
public void testGreaterThanWithEncapsulation1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;1 &amp;gt; (1 &amp;gt; 2)&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithEncapsulation2() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;1 &amp;gt; (1 &amp;gt; (1 &amp;gt; 2))&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithEncapsulation3() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;1 &amp;gt; (1 &amp;gt; (1 &amp;gt; (1 &amp;gt; (1 &amp;gt; 2))))&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test &lt;br /&gt;
public void testGreaterThanWithEncapsulation4() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;((((1 &amp;gt; 1) &amp;gt; 1) &amp;gt; 1) &amp;gt; 1) &amp;gt; -1&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=ParserException.class)&lt;br /&gt;
public void testGreaterThanWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;6 &amp;gt; ab&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testGreaterThanWithWrongInputString() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;6 &amp;gt; &#039;a&#039;&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test (expected=UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testGreaterThanWithMissingExcerciseVariable() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;[var=j] &amp;gt; 2&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test (expected=UndefinedFillInVariableException.class)&lt;br /&gt;
public void testGreaterThanWithMissingInput() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;[pos=42] &amp;gt; 2&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=GreaterThan&amp;diff=1792</id>
		<title>GreaterThan</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=GreaterThan&amp;diff=1792"/>
		<updated>2017-09-18T10:54:01Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
Die Funktion &#039;&#039;greaterThan&#039;&#039; vergleicht zwei Ausdrücke nach der Größe miteinander.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 a &amp;gt; b&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039; - double&lt;br /&gt;
* &#039;&#039;&#039;b&#039;&#039;&#039; - double&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt einen Boolean zurück&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 &amp;lt;math&amp;gt;6 &amp;gt; 3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() throws FunctionNotImplementedException, UndefinedFillInVariableException,&lt;br /&gt;
		UndefinedExerciseVariableException, ParserException, ErroneousFillInVariableException, ErroneousExerciseVariableException {&lt;br /&gt;
	greaterThanFillInVariableMap.put(1, ExpressionParser.parse(&amp;quot;3&amp;quot;, null, null));&lt;br /&gt;
	greaterThanFillInVariableMap.put(2, ExpressionParser.parse(&amp;quot;1&amp;quot;, null, null));&lt;br /&gt;
&lt;br /&gt;
	greaterThanExerciseVariableMap.put(&amp;quot;a&amp;quot;, ExpressionParser.parse(&amp;quot;8&amp;quot;, null, null));&lt;br /&gt;
	greaterThanExerciseVariableMap.put(&amp;quot;b&amp;quot;, ExpressionParser.parse(&amp;quot;25&amp;quot;, null, null));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThan1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;22&amp;gt;8&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThan2() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;2&amp;gt;8&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThan3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;5.7&amp;gt;3.5&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThan4() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;1&amp;gt;-1&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThan5() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;0.2&amp;gt;0&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithVariables1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[var=b]&amp;gt;8&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithVariables2() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;[var=a]&amp;gt;9&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithVariables3() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[var=b]&amp;gt;[var=a]&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithVariables4() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;[var=a]&amp;gt;[var=b]&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithVariables5() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;22&amp;gt;[var=a]&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithVariables6() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;2&amp;gt;[var=a]&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithInput1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[pos=1]&amp;gt;2&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithInput2() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;34&amp;gt;[pos=2]&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithInput3() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;[pos=2]&amp;gt;2&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithInput4() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;[pos=1]&amp;gt;[pos=2]&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithInput5() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;[pos=2]&amp;gt;[pos=1]&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithInput6() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;22&amp;gt;[pos=1]&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithInput7() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;2&amp;gt;[pos=1]&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test &lt;br /&gt;
public void testGreaterThanWithEncapsulation1() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;1 &amp;gt; (1 &amp;gt; 2)&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithEncapsulation2() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;1 &amp;gt; (1 &amp;gt; (1 &amp;gt; 2))&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGreaterThanWithEncapsulation3() {&lt;br /&gt;
	assertTrue(!Evaluator.getBooleanResult(&amp;quot;1 &amp;gt; (1 &amp;gt; (1 &amp;gt; (1 &amp;gt; (1 &amp;gt; 2))))&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test &lt;br /&gt;
public void testGreaterThanWithEncapsulation4() {&lt;br /&gt;
	assertTrue(Evaluator.getBooleanResult(&amp;quot;((((1 &amp;gt; 1) &amp;gt; 1) &amp;gt; 1) &amp;gt; 1) &amp;gt; -1&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=ParserException.class)&lt;br /&gt;
public void testGreaterThanWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;6 &amp;gt; ab&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected=FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testGreaterThanWithWrongInputString() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;6 &amp;gt; &#039;a&#039;&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test (expected=UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testGreaterThanWithMissingExcerciseVariable() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;[var=j] &amp;gt; 2&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test (expected=UndefinedFillInVariableException.class)&lt;br /&gt;
public void testGreaterThanWithMissingInput() {&lt;br /&gt;
	Evaluator.getBooleanResult(&amp;quot;[pos=42] &amp;gt; 2&amp;quot;, greaterThanExerciseVariableMap, greaterThanFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=GetNumerator&amp;diff=1791</id>
		<title>GetNumerator</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=GetNumerator&amp;diff=1791"/>
		<updated>2017-09-18T10:53:28Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Mit der Funktion &#039;&#039;getNumerator&#039;&#039; erhält man den Zähler eines Bruches. Die Funktion erwartet einen String, bei dem es sich um einen Bruch handeln muss, und gibt eine Zahl zurück.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 getNumerator(String bruch)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;bruch&#039;&#039;&#039; - der Bruch, dessen Zähler bestimmt werden soll&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt eine Ganzzahl zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
 getNumerator(&#039;3/5&#039;)   --&amp;gt; returns 3&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() throws FunctionNotImplementedException, UndefinedFillInVariableException,&lt;br /&gt;
		UndefinedExerciseVariableException, ParserException, ErroneousFillInVariableException,&lt;br /&gt;
		ErroneousExerciseVariableException {&lt;br /&gt;
	getNumeratorFillInVariableMap.put(1, ExpressionParser.parse(&amp;quot;0&amp;quot;, null, null));&lt;br /&gt;
	getNumeratorFillInVariableMap.put(2, ExpressionParser.parse(&amp;quot;20/3&amp;quot;, null, null));&lt;br /&gt;
	getNumeratorFillInVariableMap.put(3, ExpressionParser.parse(&amp;quot;10.3&amp;quot;, null, null));&lt;br /&gt;
	getNumeratorFillInVariableMap.put(4, ExpressionParser.parse(&amp;quot;-5&amp;quot;, null, null));&lt;br /&gt;
	getNumeratorFillInVariableMap.put(5, ExpressionParser.parse(&amp;quot;5&amp;quot;, null, null));&lt;br /&gt;
&lt;br /&gt;
	getNumeratorExerciseVariableMap.put(&amp;quot;a&amp;quot;, ExpressionParser.parse(&amp;quot;0&amp;quot;, null, null));&lt;br /&gt;
	getNumeratorExerciseVariableMap.put(&amp;quot;b&amp;quot;, ExpressionParser.parse(&amp;quot;20/3&amp;quot;, null, null));&lt;br /&gt;
	getNumeratorExerciseVariableMap.put(&amp;quot;c&amp;quot;, ExpressionParser.parse(&amp;quot;10.3&amp;quot;, null, null));&lt;br /&gt;
	getNumeratorExerciseVariableMap.put(&amp;quot;d&amp;quot;, ExpressionParser.parse(&amp;quot;-5&amp;quot;, null, null));&lt;br /&gt;
	getNumeratorExerciseVariableMap.put(&amp;quot;e&amp;quot;, ExpressionParser.parse(&amp;quot;5&amp;quot;, null, null));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumerator1() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;getNumerator(3/7)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumerator2() {&lt;br /&gt;
	assertEquals(10, Evaluator.getNumberResult(&amp;quot;getNumerator(10/7)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumerator3() {&lt;br /&gt;
	assertEquals(20.3, Evaluator.getNumberResult(&amp;quot;getNumerator(20.3/-10)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumerator4() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;getNumerator(&#039;0/5&#039;)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumerator5() {&lt;br /&gt;
	assertNotEquals(4, Evaluator.getNumberResult(&amp;quot;getNumerator(&#039;8/6&#039;)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumerator6() {&lt;br /&gt;
	assertEquals(-5, Evaluator.getNumberResult(&amp;quot;getNumerator(-5/3.2)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentException.class)&lt;br /&gt;
public void testGetNumeratorAtDefinitionZero() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getNumerator(3/0)&amp;quot;, getNumeratorExerciseVariableMap, getNumeratorFillInVariableMap); // Result&lt;br /&gt;
																													// //&lt;br /&gt;
																													// undefined&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithInput1() {&lt;br /&gt;
	assertEquals(20, Evaluator.getNumberResult(&amp;quot;getNumerator([pos=2])&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithInput2() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;getNumerator([pos=1]/7)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithInput3() {&lt;br /&gt;
	assertEquals(10.3, Evaluator.getNumberResult(&amp;quot;getNumerator([pos=3]/5)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithInput4() {&lt;br /&gt;
	assertEquals(-5, Evaluator.getNumberResult(&amp;quot;getNumerator([pos=4]/[pos=3])&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithVariables1() {&lt;br /&gt;
	assertEquals(20, Evaluator.getNumberResult(&amp;quot;getNumerator([var=b])&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithVariables2() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;getNumerator([var=a]/7)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithVariables3() {&lt;br /&gt;
	assertEquals(10.3, Evaluator.getNumberResult(&amp;quot;getNumerator([var=c]/5)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithVariables4() {&lt;br /&gt;
	assertEquals(-5, Evaluator.getNumberResult(&amp;quot;getNumerator([var=d]/[var=c])&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithExpressions1() {&lt;br /&gt;
	assertEquals(5, Evaluator.getNumberResult(&amp;quot;getNumerator((2+3)/4)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithExpressions2() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;getNumerator((getNumerator(&#039;3/2&#039;))/4)&amp;quot;,&lt;br /&gt;
			getNumeratorExerciseVariableMap, getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithExpressions3() {&lt;br /&gt;
	assertEquals(5, Evaluator.getNumberResult(&amp;quot;getNumerator((getNumerator(&#039;[pos=5]/7&#039;))/4)&amp;quot;,&lt;br /&gt;
			getNumeratorExerciseVariableMap, getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testGetNumeratorWithWrongInputPointNumber() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getNumerator(2.2)&amp;quot;, getNumeratorExerciseVariableMap, getNumeratorFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = ParserException.class)&lt;br /&gt;
public void testGetNumeratorWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getNumerator(ab/2)&amp;quot;, getNumeratorExerciseVariableMap, getNumeratorFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testGetNumeratorWithTwoArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getNumerator(&#039;7/3&#039;, &#039;12/2&#039;)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testGetNumeratorWithThreeArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getNumerator(&#039;1/1&#039;, &#039;3/9&#039;, &#039;7/8&#039;)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testGetNumeratorWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getNumerator(&#039;[var=j]/3&#039;)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testGetNumeratorWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getNumerator(&#039;[pos=42]/3&#039;)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=GetFromSet&amp;diff=1790</id>
		<title>GetFromSet</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=GetFromSet&amp;diff=1790"/>
		<updated>2017-09-18T10:24:44Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;getFromSet&#039;&#039; wählt das Element an einer bestimmten Stelle aus einer gegebenen Menge aus. Dabei beginnt die Nummerierung der Elemente mit 0.&lt;br /&gt;
&lt;br /&gt;
Die Funktion erwartet eine Zahl, die Stelle an der das Element aus der Menge genommen wird, und einen String, die Menge selbst. Es wird eine Zahl zurückgegeben. &lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 getFromSet(int stelle, String menge)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;stelle&#039;&#039;&#039; - an der wievielten Stelle aus der geordneten Menge gezogen werden soll&lt;br /&gt;
* &#039;&#039;&#039;menge&#039;&#039;&#039; - die Menge, aus der gezogen wird&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt einen String zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 getFromSet(&#039;1&#039;,&#039;{1;2;3}&#039;)   --&amp;gt; returns 2&lt;br /&gt;
 getFromSet(&#039;2&#039;,&#039;{a;b;c}&#039;)   --&amp;gt; returns c&lt;br /&gt;
&lt;br /&gt;
==== Benutzung von Variablen ====&lt;br /&gt;
 getFromSet(&#039;[pos=1]&#039;,&#039;{1;2;3}&#039;)&lt;br /&gt;
 getFromSet(&#039;1&#039;,&#039;{1;2;[var=a]}&#039;)&lt;br /&gt;
 getFromSet(&#039;[var=b]&#039;,&#039;{1;2;[pos=1]}&#039;)&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	OMOBJ zero = new OMOBJ();&lt;br /&gt;
	OMOBJ two = new OMOBJ();&lt;br /&gt;
	OMOBJ mtwo = new OMOBJ();&lt;br /&gt;
	OMOBJ e = new OMOBJ();&lt;br /&gt;
	e.setOMV(OMCreator.createOMV(&amp;quot;e&amp;quot;));&lt;br /&gt;
	zero.setOMI(OMCreator.createOMI(0));&lt;br /&gt;
	two.setOMI(OMCreator.createOMI(2));&lt;br /&gt;
	mtwo.setOMI(OMCreator.createOMI(-2));&lt;br /&gt;
&lt;br /&gt;
	fillIn.put(1, zero);&lt;br /&gt;
	fillIn.put(2, two);&lt;br /&gt;
	fillIn.put(3, mtwo);&lt;br /&gt;
	fillIn.put(4, e);&lt;br /&gt;
&lt;br /&gt;
	exerVar.put(&amp;quot;a&amp;quot;, zero);&lt;br /&gt;
	exerVar.put(&amp;quot;b&amp;quot;, two);&lt;br /&gt;
	exerVar.put(&amp;quot;c&amp;quot;, mtwo);&lt;br /&gt;
	exerVar.put(&amp;quot;d&amp;quot;, e);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSet1() {&lt;br /&gt;
	assertEquals(2, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;1&#039;, &#039;{1;2;3}&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSet2() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;&#039;c&#039; == getFromSet(&#039;2&#039;, &#039;{a;b;c}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSet3() {&lt;br /&gt;
	assertEquals(42, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;3&#039;, {a;12;&#039;lalilu&#039;;42;-1})&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSet4() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot; &#039;}&#039; ==getFromSet(&#039;1&#039;, {2;&#039;}&#039;;3})&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSet5() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;2&#039;, {2;&#039;}&#039;;3})&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSet6() {&lt;br /&gt;
	assertEquals(2, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;1&#039;, &#039;{1;2;3}&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSet7() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;&#039;c&#039; == getFromSet(&#039;2&#039;, &#039;{a;b;c}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSet8() {&lt;br /&gt;
	assertEquals(42, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;3&#039;, {a;12;&#039;lalilu&#039;;42;-1})&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSet9() {&lt;br /&gt;
	OMOBJ expected = new OMOBJ();&lt;br /&gt;
	expected.setOMSTR(OMCreator.createOMSTR(&amp;quot;1,3,2,7&amp;quot;));&lt;br /&gt;
	assertEquals(expected, (Evaluator.evaluate(&amp;quot;getFromSet(&#039;0&#039;, {&#039;1,3,2,7&#039;})&amp;quot;, exerVar, fillIn)));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithInput1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;0&#039;, &#039;{[pos=1];2;3}&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithInput2() {&lt;br /&gt;
	assertEquals(-2, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;[pos=1]&#039;, &#039;{[pos=3];2;3}&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithInput3() {&lt;br /&gt;
	assertEquals(true,&lt;br /&gt;
			Evaluator.getBooleanResult(&amp;quot;&#039;e&#039; == getFromSet(&#039;[pos=2]&#039;, &#039;{a;b;[pos=4]}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithVariables1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;0&#039;, &#039;{[var=a];2;3}&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithVariables2() {&lt;br /&gt;
	assertEquals(-2, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;[var=a]&#039;, &#039;{[var=c];2;3}&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithVariables3() {&lt;br /&gt;
	assertEquals(true,&lt;br /&gt;
			Evaluator.getBooleanResult(&amp;quot;&#039;e&#039; == getFromSet(&#039;[var=b]&#039;, &#039;{a;b;[var=d]}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithPointNumber1() {&lt;br /&gt;
	assertEquals(3.2, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;0&#039;, &#039;{3.2;2;3}&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithPointNumber2() {&lt;br /&gt;
	assertEquals(-2.2, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;[var=a]&#039;, &#039;{-2.2;2;3}&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithPointNumber3() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;&#039;e.a&#039; == getFromSet(&#039;2&#039;, {a;b;&#039;e.a&#039;})&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithOneRationalAndOneTextArgument() {&lt;br /&gt;
	assertEquals(4, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;1&#039;, &#039;{2;4;5}&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithTwoTextArguments() {&lt;br /&gt;
	assertEquals(4, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;1&#039;, &#039;{2;4;5}&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testGetFromSetWithOneArgument() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;3&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testGetFromSetWithThreeArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;4&#039;, &#039;{3;1;-7}&#039;, &#039;{12;-12}&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testGetFromSetWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;2&#039;, &#039;{[pos=42];4;5}&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testGetFromSetWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;2&#039;, &#039;{[var=j];4;5}&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
* Mengen werden mit geschweiften Klammern beschrieben, die Elemente sind mit Semikolons zu trennen.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=GetFromSet&amp;diff=1789</id>
		<title>GetFromSet</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=GetFromSet&amp;diff=1789"/>
		<updated>2017-09-18T10:24:09Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;getFromSet&#039;&#039; wählt das Element an einer bestimmten Stelle aus einer gegebenen Menge aus. Dabei beginnt die Nummerierung der Elemente mit 0.&lt;br /&gt;
&lt;br /&gt;
Die Funktion erwartet eine Zahl, die Stelle an der das Element aus der Menge genommen wird, und einen String, die Menge selbst. Es wird eine Zahl zurückgegeben. &lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 getFromSet(int stelle, String menge)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;stelle&#039;&#039;&#039; - an der wievielten Stelle aus der geordneten Menge gezogen werden soll&lt;br /&gt;
* &#039;&#039;&#039;menge&#039;&#039;&#039; - die Menge, aus der gezogen wird&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt einen String zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 getFromSet(&#039;1&#039;,&#039;{1;2;3}&#039;)   --&amp;gt; returns 2&lt;br /&gt;
 getFromSet(&#039;2&#039;,&#039;{a;b;c}&#039;)   --&amp;gt; returns c&lt;br /&gt;
&lt;br /&gt;
==== Benutzung von Variablen ====&lt;br /&gt;
 getFromSet(&#039;[pos=1]&#039;,&#039;{1;2;3}&#039;)&lt;br /&gt;
 getFromSet(&#039;1&#039;,&#039;{1;2;[var=a]}&#039;)&lt;br /&gt;
 getFromSet(&#039;[var=b]&#039;,&#039;{1;2;[pos=1]}&#039;)&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() throws FunctionNotImplementedException, UndefinedFillInVariableException,&lt;br /&gt;
		UndefinedExerciseVariableException, ParserException, ErroneousFillInVariableException,&lt;br /&gt;
		ErroneousExerciseVariableException {&lt;br /&gt;
	getNumeratorFillInVariableMap.put(1, ExpressionParser.parse(&amp;quot;0&amp;quot;, null, null));&lt;br /&gt;
	getNumeratorFillInVariableMap.put(2, ExpressionParser.parse(&amp;quot;20/3&amp;quot;, null, null));&lt;br /&gt;
	getNumeratorFillInVariableMap.put(3, ExpressionParser.parse(&amp;quot;10.3&amp;quot;, null, null));&lt;br /&gt;
	getNumeratorFillInVariableMap.put(4, ExpressionParser.parse(&amp;quot;-5&amp;quot;, null, null));&lt;br /&gt;
	getNumeratorFillInVariableMap.put(5, ExpressionParser.parse(&amp;quot;5&amp;quot;, null, null));&lt;br /&gt;
&lt;br /&gt;
	getNumeratorExerciseVariableMap.put(&amp;quot;a&amp;quot;, ExpressionParser.parse(&amp;quot;0&amp;quot;, null, null));&lt;br /&gt;
	getNumeratorExerciseVariableMap.put(&amp;quot;b&amp;quot;, ExpressionParser.parse(&amp;quot;20/3&amp;quot;, null, null));&lt;br /&gt;
	getNumeratorExerciseVariableMap.put(&amp;quot;c&amp;quot;, ExpressionParser.parse(&amp;quot;10.3&amp;quot;, null, null));&lt;br /&gt;
	getNumeratorExerciseVariableMap.put(&amp;quot;d&amp;quot;, ExpressionParser.parse(&amp;quot;-5&amp;quot;, null, null));&lt;br /&gt;
	getNumeratorExerciseVariableMap.put(&amp;quot;e&amp;quot;, ExpressionParser.parse(&amp;quot;5&amp;quot;, null, null));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumerator1() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;getNumerator(3/7)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumerator2() {&lt;br /&gt;
	assertEquals(10, Evaluator.getNumberResult(&amp;quot;getNumerator(10/7)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumerator3() {&lt;br /&gt;
	assertEquals(20.3, Evaluator.getNumberResult(&amp;quot;getNumerator(20.3/-10)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumerator4() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;getNumerator(&#039;0/5&#039;)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumerator5() {&lt;br /&gt;
	assertNotEquals(4, Evaluator.getNumberResult(&amp;quot;getNumerator(&#039;8/6&#039;)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumerator6() {&lt;br /&gt;
	assertEquals(-5, Evaluator.getNumberResult(&amp;quot;getNumerator(-5/3.2)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentException.class)&lt;br /&gt;
public void testGetNumeratorAtDefinitionZero() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getNumerator(3/0)&amp;quot;, getNumeratorExerciseVariableMap, getNumeratorFillInVariableMap); // Result&lt;br /&gt;
																													// //&lt;br /&gt;
																													// undefined&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithInput1() {&lt;br /&gt;
	assertEquals(20, Evaluator.getNumberResult(&amp;quot;getNumerator([pos=2])&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithInput2() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;getNumerator([pos=1]/7)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithInput3() {&lt;br /&gt;
	assertEquals(10.3, Evaluator.getNumberResult(&amp;quot;getNumerator([pos=3]/5)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithInput4() {&lt;br /&gt;
	assertEquals(-5, Evaluator.getNumberResult(&amp;quot;getNumerator([pos=4]/[pos=3])&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithVariables1() {&lt;br /&gt;
	assertEquals(20, Evaluator.getNumberResult(&amp;quot;getNumerator([var=b])&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithVariables2() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;getNumerator([var=a]/7)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithVariables3() {&lt;br /&gt;
	assertEquals(10.3, Evaluator.getNumberResult(&amp;quot;getNumerator([var=c]/5)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithVariables4() {&lt;br /&gt;
	assertEquals(-5, Evaluator.getNumberResult(&amp;quot;getNumerator([var=d]/[var=c])&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithExpressions1() {&lt;br /&gt;
	assertEquals(5, Evaluator.getNumberResult(&amp;quot;getNumerator((2+3)/4)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithExpressions2() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;getNumerator((getNumerator(&#039;3/2&#039;))/4)&amp;quot;,&lt;br /&gt;
			getNumeratorExerciseVariableMap, getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetNumeratorWithExpressions3() {&lt;br /&gt;
	assertEquals(5, Evaluator.getNumberResult(&amp;quot;getNumerator((getNumerator(&#039;[pos=5]/7&#039;))/4)&amp;quot;,&lt;br /&gt;
			getNumeratorExerciseVariableMap, getNumeratorFillInVariableMap), 0.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testGetNumeratorWithWrongInputPointNumber() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getNumerator(2.2)&amp;quot;, getNumeratorExerciseVariableMap, getNumeratorFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = ParserException.class)&lt;br /&gt;
public void testGetNumeratorWithWrongInputCharacter() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getNumerator(ab/2)&amp;quot;, getNumeratorExerciseVariableMap, getNumeratorFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testGetNumeratorWithTwoArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getNumerator(&#039;7/3&#039;, &#039;12/2&#039;)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testGetNumeratorWithThreeArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getNumerator(&#039;1/1&#039;, &#039;3/9&#039;, &#039;7/8&#039;)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testGetNumeratorWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getNumerator(&#039;[var=j]/3&#039;)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testGetNumeratorWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getNumerator(&#039;[pos=42]/3&#039;)&amp;quot;, getNumeratorExerciseVariableMap,&lt;br /&gt;
			getNumeratorFillInVariableMap);&lt;br /&gt;
	fail();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
* Mengen werden mit geschweiften Klammern beschrieben, die Elemente sind mit Semikolons zu trennen.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=GetFromOrderedSet&amp;diff=1788</id>
		<title>GetFromOrderedSet</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=GetFromOrderedSet&amp;diff=1788"/>
		<updated>2017-09-18T10:23:46Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;getFromOrderedSet&#039;&#039; wählt das Element an einer bestimmten Stelle aus einer vorher sortierten Zahlenmenge aus. Dabei beginnt die Nummerierung der geordneten Elemente mit 0.&lt;br /&gt;
&lt;br /&gt;
Die Funktion erwartet eine Zahl, die Stelle an der das Element aus der Menge genommen wird, und einen String, die Menge selbst. Es wird eine Zahl zurückgegeben. &lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 getFromOrderedSet(int stelle, String menge)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;stelle&#039;&#039;&#039; - an der wievielten Stelle aus der geordneten Menge gezogen werden soll&lt;br /&gt;
* &#039;&#039;&#039;menge&#039;&#039;&#039; - die Menge, aus der gezogen wird&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt eine Zahl zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
 getFromOrderedSet(&#039;3&#039;,&#039;{1;2;3;4}&#039;)   --&amp;gt; returns 4&lt;br /&gt;
 getFromOrderedSet(&#039;3&#039;,&#039;{3;2;4;1}&#039;)   --&amp;gt; returns 4&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	OMOBJ zero = new OMOBJ();&lt;br /&gt;
	OMOBJ mfour = new OMOBJ();&lt;br /&gt;
	OMOBJ twenty = new OMOBJ();&lt;br /&gt;
	zero.setOMI(OMCreator.createOMI(0));&lt;br /&gt;
	mfour.setOMI(OMCreator.createOMI(-4));&lt;br /&gt;
	twenty.setOMI(OMCreator.createOMI(20));&lt;br /&gt;
&lt;br /&gt;
	fillIn.put(1, zero);&lt;br /&gt;
	fillIn.put(2, mfour);&lt;br /&gt;
	fillIn.put(3, twenty);&lt;br /&gt;
&lt;br /&gt;
	exerVar.put(&amp;quot;a&amp;quot;, zero);&lt;br /&gt;
	exerVar.put(&amp;quot;b&amp;quot;, mfour);&lt;br /&gt;
	exerVar.put(&amp;quot;c&amp;quot;, twenty);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromOrderedSet1() {&lt;br /&gt;
	assertTrue(3 == Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;1&#039;, &#039;{2;3;5;6}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromOrderedSet2() {&lt;br /&gt;
	assertTrue(-2.6 == Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;0&#039;, &#039;{3;5;6;-2.6}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromOrderedSet3() {&lt;br /&gt;
	assertTrue(0 == Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;1&#039;, &#039;{-2.6;3;5;0}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromOrderedSet4() {&lt;br /&gt;
	assertTrue(5 == Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;3&#039;, &#039;{-2.6;3;5;0}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromOrderedSet5() {&lt;br /&gt;
	assertTrue(1 == Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;0&#039;, &#039;{1;1;1;1}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromOrderedSet6() {&lt;br /&gt;
	assertTrue(1 == Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;3&#039;, &#039;{1;1;1;1}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromOrderedSetWithInput1() {&lt;br /&gt;
	assertTrue(20 == Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;2&#039;, &#039;{[pos=3];4;5}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromOrderedSetWithInput2() {&lt;br /&gt;
	assertTrue(-4 == Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;0&#039;, &#039;{[pos=3];4;5;[pos=2]}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromOrderedSetWithInput3() {&lt;br /&gt;
	assertTrue(-4 == Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;[pos=1]&#039;, &#039;{[pos=3];4;5;[pos=2]}&#039;)&amp;quot;, exerVar,&lt;br /&gt;
			fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromOrderedSetWithVariables1() {&lt;br /&gt;
	assertTrue(20 == Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;2&#039;, &#039;{[var=c];4;5}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromOrderedSetWithVariables2() {&lt;br /&gt;
	assertTrue(-4 == Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;0&#039;, &#039;{[var=c];4;5;[var=b]}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromOrderedSetWithVariables3() {&lt;br /&gt;
	assertTrue(-4 == Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;[var=a]&#039;, &#039;{[var=c];4;5;[var=b]}&#039;)&amp;quot;, exerVar,&lt;br /&gt;
			fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromOrderedSetWithOneRationalAndOneTextArgument() {&lt;br /&gt;
	assertTrue(4 == Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;1&#039;, &#039;{2;4;5}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromOrderedSetWithTwoTextArguments() {&lt;br /&gt;
	assertTrue(4 == Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;1&#039;, &#039;{2;4;5}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test // (expected=FunctionInvalidArgumentTypeException.class) Now works, single chars&lt;br /&gt;
		// are recognized as Variables&lt;br /&gt;
public void testGetFromOrderedSetWithWrongInputCharacters() {&lt;br /&gt;
	assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(&amp;quot;b&amp;quot;)),&lt;br /&gt;
			Evaluator.evaluate(&amp;quot;getFromOrderedSet(&#039;1&#039;, &#039;{a;b;c;d}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testGetFromOrderedSetWithWrongInputCharacterIndex() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;a&#039;, &#039;{1;2;3;4}&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testGetFromOrderedSetWithWrongInputDoubleIndex() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;5.5&#039;, &#039;{1;2;3;4}&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidArgumentTypeException.class)&lt;br /&gt;
public void testGetFromOrderedSetWithWrongInputComma() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;3&#039;, &#039;{1,5,3,7}&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testGetFromOrderedSetWithOneArgument() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;7&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testGetFromOrderedSetWithThreeArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;4&#039;, &#039;{3;1;-1}&#039;, &#039;{12;-3}&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testGetFromOrderedSetWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;2&#039;, &#039;{[pos=42];4;5}&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testGetFromOrderedSetWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getFromOrderedSet(&#039;2&#039;, &#039;{[var=j];4;5}&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
* Egal in welcher Reihenfolge die Elemente in der Menge stehen, die Funktion ordnet sie zunächst der Größe nach und gibt dann das Element an der entsprechenden Stelle zurück.&lt;br /&gt;
* Mengen werden mit geschweiften Klammern beschrieben, die Elemente sind mit Semikolons zu trennen.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=GetFromOrderedSet&amp;diff=1787</id>
		<title>GetFromOrderedSet</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=GetFromOrderedSet&amp;diff=1787"/>
		<updated>2017-09-18T10:23:16Z</updated>

		<summary type="html">&lt;p&gt;Mbuttgereit: /* JUnit Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;getFromOrderedSet&#039;&#039; wählt das Element an einer bestimmten Stelle aus einer vorher sortierten Zahlenmenge aus. Dabei beginnt die Nummerierung der geordneten Elemente mit 0.&lt;br /&gt;
&lt;br /&gt;
Die Funktion erwartet eine Zahl, die Stelle an der das Element aus der Menge genommen wird, und einen String, die Menge selbst. Es wird eine Zahl zurückgegeben. &lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 getFromOrderedSet(int stelle, String menge)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;stelle&#039;&#039;&#039; - an der wievielten Stelle aus der geordneten Menge gezogen werden soll&lt;br /&gt;
* &#039;&#039;&#039;menge&#039;&#039;&#039; - die Menge, aus der gezogen wird&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt eine Zahl zurück&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
 getFromOrderedSet(&#039;3&#039;,&#039;{1;2;3;4}&#039;)   --&amp;gt; returns 4&lt;br /&gt;
 getFromOrderedSet(&#039;3&#039;,&#039;{3;2;4;1}&#039;)   --&amp;gt; returns 4&lt;br /&gt;
&lt;br /&gt;
====JUnit Tests====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot;&amp;gt;[Anzeigen]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
@BeforeClass&lt;br /&gt;
public static void beforeTest() {&lt;br /&gt;
	OMOBJ zero = new OMOBJ();&lt;br /&gt;
	OMOBJ two = new OMOBJ();&lt;br /&gt;
	OMOBJ mtwo = new OMOBJ();&lt;br /&gt;
	OMOBJ e = new OMOBJ();&lt;br /&gt;
	e.setOMV(OMCreator.createOMV(&amp;quot;e&amp;quot;));&lt;br /&gt;
	zero.setOMI(OMCreator.createOMI(0));&lt;br /&gt;
	two.setOMI(OMCreator.createOMI(2));&lt;br /&gt;
	mtwo.setOMI(OMCreator.createOMI(-2));&lt;br /&gt;
&lt;br /&gt;
	fillIn.put(1, zero);&lt;br /&gt;
	fillIn.put(2, two);&lt;br /&gt;
	fillIn.put(3, mtwo);&lt;br /&gt;
	fillIn.put(4, e);&lt;br /&gt;
&lt;br /&gt;
	exerVar.put(&amp;quot;a&amp;quot;, zero);&lt;br /&gt;
	exerVar.put(&amp;quot;b&amp;quot;, two);&lt;br /&gt;
	exerVar.put(&amp;quot;c&amp;quot;, mtwo);&lt;br /&gt;
	exerVar.put(&amp;quot;d&amp;quot;, e);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSet1() {&lt;br /&gt;
	assertEquals(2, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;1&#039;, &#039;{1;2;3}&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSet2() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;&#039;c&#039; == getFromSet(&#039;2&#039;, &#039;{a;b;c}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSet3() {&lt;br /&gt;
	assertEquals(42, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;3&#039;, {a;12;&#039;lalilu&#039;;42;-1})&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSet4() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot; &#039;}&#039; ==getFromSet(&#039;1&#039;, {2;&#039;}&#039;;3})&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSet5() {&lt;br /&gt;
	assertEquals(3, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;2&#039;, {2;&#039;}&#039;;3})&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSet6() {&lt;br /&gt;
	assertEquals(2, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;1&#039;, &#039;{1;2;3}&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSet7() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;&#039;c&#039; == getFromSet(&#039;2&#039;, &#039;{a;b;c}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSet8() {&lt;br /&gt;
	assertEquals(42, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;3&#039;, {a;12;&#039;lalilu&#039;;42;-1})&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSet9() {&lt;br /&gt;
	OMOBJ expected = new OMOBJ();&lt;br /&gt;
	expected.setOMSTR(OMCreator.createOMSTR(&amp;quot;1,3,2,7&amp;quot;));&lt;br /&gt;
	assertEquals(expected, (Evaluator.evaluate(&amp;quot;getFromSet(&#039;0&#039;, {&#039;1,3,2,7&#039;})&amp;quot;, exerVar, fillIn)));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithInput1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;0&#039;, &#039;{[pos=1];2;3}&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithInput2() {&lt;br /&gt;
	assertEquals(-2, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;[pos=1]&#039;, &#039;{[pos=3];2;3}&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithInput3() {&lt;br /&gt;
	assertEquals(true,&lt;br /&gt;
			Evaluator.getBooleanResult(&amp;quot;&#039;e&#039; == getFromSet(&#039;[pos=2]&#039;, &#039;{a;b;[pos=4]}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithVariables1() {&lt;br /&gt;
	assertEquals(0, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;0&#039;, &#039;{[var=a];2;3}&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithVariables2() {&lt;br /&gt;
	assertEquals(-2, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;[var=a]&#039;, &#039;{[var=c];2;3}&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithVariables3() {&lt;br /&gt;
	assertEquals(true,&lt;br /&gt;
			Evaluator.getBooleanResult(&amp;quot;&#039;e&#039; == getFromSet(&#039;[var=b]&#039;, &#039;{a;b;[var=d]}&#039;)&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithPointNumber1() {&lt;br /&gt;
	assertEquals(3.2, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;0&#039;, &#039;{3.2;2;3}&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithPointNumber2() {&lt;br /&gt;
	assertEquals(-2.2, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;[var=a]&#039;, &#039;{-2.2;2;3}&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithPointNumber3() {&lt;br /&gt;
	assertEquals(true, Evaluator.getBooleanResult(&amp;quot;&#039;e.a&#039; == getFromSet(&#039;2&#039;, {a;b;&#039;e.a&#039;})&amp;quot;, exerVar, fillIn));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithOneRationalAndOneTextArgument() {&lt;br /&gt;
	assertEquals(4, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;1&#039;, &#039;{2;4;5}&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void testGetFromSetWithTwoTextArguments() {&lt;br /&gt;
	assertEquals(4, Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;1&#039;, &#039;{2;4;5}&#039;)&amp;quot;, exerVar, fillIn), 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testGetFromSetWithOneArgument() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;3&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)&lt;br /&gt;
public void testGetFromSetWithThreeArguments() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;4&#039;, &#039;{3;1;-7}&#039;, &#039;{12;-12}&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedFillInVariableException.class)&lt;br /&gt;
public void testGetFromSetWithMissingInput() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;2&#039;, &#039;{[pos=42];4;5}&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test(expected = UndefinedExerciseVariableException.class)&lt;br /&gt;
public void testGetFromSetWithMissingExerciseVariable() {&lt;br /&gt;
	Evaluator.getNumberResult(&amp;quot;getFromSet(&#039;2&#039;, &#039;{[var=j];4;5}&#039;)&amp;quot;, exerVar, fillIn);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
* Egal in welcher Reihenfolge die Elemente in der Menge stehen, die Funktion ordnet sie zunächst der Größe nach und gibt dann das Element an der entsprechenden Stelle zurück.&lt;br /&gt;
* Mengen werden mit geschweiften Klammern beschrieben, die Elemente sind mit Semikolons zu trennen.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>Mbuttgereit</name></author>
	</entry>
</feed>