Root: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 23: Zeile 23:
====JUnit Tests====
====JUnit Tests====
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed">
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed">
@Before
public void beforeTest(){
  placeFillInVariable(2,OMParser.parse("4"));
  placeFillInVariable(34,OMParser.parse("34.3333"));
  placeExerciseVariable("a",OMParser.parse("16"));
  placeExerciseVariable("c",OMParser.parse("34.3333"));
}
@Test public void testSqrt(){
@Test public void testSqrt(){
   assertTrue(2 == getEvaluator().getNumberResult("sqrt(4)"));
   assertTrue(2 == getEvaluator().getNumberResult("sqrt(4)"));
Zeile 84: Zeile 93:
}
}
</syntaxhighlight>
</syntaxhighlight>
=== Hinweise ===
=== Hinweise ===


[[Kategorie:Evaluatorfunktion]]
[[Kategorie:Evaluatorfunktion]]

Version vom 20. Juni 2017, 10:43 Uhr

Beschreibung

Die Funktion sqrt ermittelt die Wurzel einer Zahl. Die Funktion erwartet eine Zahl und gibt die Wurzel dieser Zahl zurück.

Syntax

sqrt(float zahl)

Parameter

  • zahl - die Zahl, zu der die Wurzel berechnet werden soll

Return Value

  • Gibt die Wurzel der Zahl zurück

Beispiele

Standardfälle

sqrt(16)   --> returns 4
sqrt(9)   --> returns 3

Benutzung mit Variablen

sqrt([pos=1])
sqrt([var=a])

JUnit Tests

@Before
public void beforeTest(){
  placeFillInVariable(2,OMParser.parse("4"));
  placeFillInVariable(34,OMParser.parse("34.3333"));
		
  placeExerciseVariable("a",OMParser.parse("16"));
  placeExerciseVariable("c",OMParser.parse("34.3333"));
}

@Test public void testSqrt(){
  assertTrue(2 == getEvaluator().getNumberResult("sqrt(4)"));
  assertTrue(3 == getEvaluator().getNumberResult("sqrt(9)"));
  assertTrue(2 == getEvaluator().getNumberResult("sqrt(sqrt(16))"));
  assertTrue(Math.sqrt(34.3333) == getEvaluator().getNumberResult("sqrt(34.3333)"));
  assertTrue(0 == getEvaluator().getNumberResult("sqrt(0)"));
}

@Test public void testSqrtWithInput(){
  assertTrue(2 == getEvaluator().getNumberResult("sqrt([pos=2])"));
  assertTrue(Math.sqrt(34.3333) == getEvaluator().getNumberResult("sqrt([pos=34])"));
}
	
@Test public void testSqrtWithVariable(){
  assertTrue(4 == getEvaluator().getNumberResult("sqrt([var=a])"));
  assertTrue(Math.sqrt(34.3333) == getEvaluator().getNumberResult("sqrt([var=c])"));	
}

@Test
public void testSqrtWithPointNumbers(){
  assertTrue(Math.sqrt(.2) == getEvaluator().getNumberResult("sqrt(.2)"));	
  assertTrue(Math.sqrt(.2) == getEvaluator().getNumberResult("sqrt(.1)"));	
}

@Test
public void testSqrtWithWrongInputNegativeNumber(){
  assertTrue("NaN".equals(getEvaluator().getResultAsEvaluatorString("sqrt(-2)")));	
  assertTrue("NaN".equals(getEvaluator().getResultAsEvaluatorString("sqrt(-1)")));	
}

@Test
public void testSqrtWithExpressions(){
  assertTrue(Math.sqrt(2) == getEvaluator().getNumberResult("sqrt(sqrt(4))"));
  assertTrue(Math.sqrt(Math.sqrt(2)) == getEvaluator().getNumberResult("sqrt(sqrt(sqrt(4)))"));
}
	
@Test(expected=InvalidEvaluatorFunctionArgumentException.class)
public void testSqrtWithWrongInputCharacter(){
  getEvaluator().getNumberResult("sqrt(a)");
}
	
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testSqrtWithTwoArguments(){
  getEvaluator().getNumberResult("sqrt(4, 3)");
}
	
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testSqrtWithThreeArguments(){
  getEvaluator().getNumberResult("sqrt(2, 3, 4)");
}
	
@Test(expected=UndefinedExerciseVariableException.class)
public void testSqrtWithMissingExerciseVariable(){
  getEvaluator().getNumberResult("sqrt('[var=j]')");
}
	
@Test(expected=UndefinedFillInVariableException.class)
public void testSqrtWithMissingInput(){
  getEvaluator().getNumberResult("sqrt('[pos=42]')");
}

Hinweise