Tan

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

Beschreibung

Der Tangens wird durch die Funktion tan beschrieben. Sie erwartet einen Parameter und gibt einen Wert zurück.

Syntax

tan(String zeichenkette)

Parameter

  • zeichenkette - ein Wert im Bogenmaß

Return Value

  • Gibt den Wert des Tangens an der Stelle zurück.

Beispiele

tan('Pi/4')    --> returns 1
tan('0')    --> 0

JUnit Tests

[Anzeigen]

@Before 
public void beforeTest() {
  placeFillInVariable(1, OMParser.parse("0"));
  placeFillInVariable(2, OMParser.parse("Pi"));
		
  placeExerciseVariable("a", OMParser.parse("0"));
}
	
@Test
public void testTan() {
  assertTrue(0 == getEvaluator().getNumberResult("tan('0')"));
  assertTrue(0 == getEvaluator().getNumberResult("tan('Pi')"));
  assertTrue(0 == getEvaluator().getNumberResult("tan('-Pi')"));
  assertTrue(1 == getEvaluator().getNumberResult("tan('Pi/4')"));
  assertTrue(-1 == getEvaluator().getNumberResult("tan('-Pi/4')"));
}
	
@Test
public void testTanWithInput() {
  assertTrue(0 == getEvaluator().getNumberResult("tan('[pos=1]')"));
  assertTrue(1 ==getEvaluator().getNumberResult("tan('[pos=2]/4')"));
}

@Test
public void testTanWithVariables() {
  assertTrue(0 == getEvaluator().getNumberResult("tan('[var=a]')"));
  assertTrue(1 == getEvaluator().getNumberResult("tan('[var=PI]/4')")); //Rounding Error
}

@Test
public void testTanWithExpressions() {
  assertTrue(0 == getEvaluator().getNumberResult("tan(tan(0))"));
  assertTrue(0 == getEvaluator().getNumberResult("tan(tan(tan(0)))"));
}
	
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testTanWithONECharacter(){
  getEvaluator().getNumberResult("tan(a)");
}
	
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testTanWithEmptyStringArgument() {
  getEvaluator().getNumberResult(("tan('')"));
}
	
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testTanWithEmptyArgument() {
  getEvaluator().getNumberResult(("tan()"));
}
	
@Test(expected=UndefinedExerciseVariableException.class)
public void testTanWithoutExerciseVariable() {
  getEvaluator().getNumberResult("tan('[var=j]')");
}
	
@Test(expected=UndefinedFillInVariableException.class)
public void testTanWithoutInput() {
  getEvaluator().getNumberResult("tan('[pos=42]')");
}

Hinweise

  • Berechnet nur den Tangens mit Werten im Bogenmaß. Der Gradmaß muss ggf. vorher umgewandelt werden.