Sin: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 15: | Zeile 15: | ||
sin('Pi/2') --> returns 1 | sin('Pi/2') --> returns 1 | ||
====JUnit Tests==== | |||
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed"> | |||
@Before | |||
public void beforeTest() { | |||
placeFillInVariable(1, OMParser.parse("0")); | |||
placeFillInVariable(2, OMParser.parse("Pi")); | |||
placeExerciseVariable("a", OMParser.parse("0")); | |||
} | |||
@Test | |||
public void testSin() { | |||
assertTrue(0 == getEvaluator().getNumberResult("sin('0')")); | |||
assertTrue(1 == getEvaluator().getNumberResult("sin('Pi/2')")); | |||
assertTrue(-1 == getEvaluator().getNumberResult("sin('-Pi/2')")); | |||
assertTrue(0 == getEvaluator().getNumberResult("sin('Pi')")); | |||
assertTrue(0 == getEvaluator().getNumberResult("sin('-Pi')")); | |||
} | |||
@Test | |||
public void testSinWithInput() { | |||
assertTrue(0 == getEvaluator().getNumberResult("sin('[pos=1]')")); | |||
assertTrue(1 == getEvaluator().getNumberResult("sin('[pos=2]/2')")); | |||
} | |||
@Test | |||
public void testSinWithVariables() { | |||
assertTrue(0 == getEvaluator().getNumberResult("sin('[var=a]')")); | |||
assertTrue(1 == getEvaluator().getNumberResult("sin('[var=PI]/2')")); | |||
} | |||
@Test | |||
public void testSinWithExpressions() { | |||
assertTrue(0 == getEvaluator().getNumberResult("sin(sin(0))")); | |||
assertTrue(0 == getEvaluator().getNumberResult("sin(sin(sin(0)))")); | |||
} | |||
@Test(expected=InvalidCASFunctionArgumentException.class) | |||
public void testSinWithONECharacter(){ | |||
getEvaluator().getNumberResult("sin(a)"); | |||
} | |||
@Test(expected=InvalidCASFunctionArgumentException.class) | |||
public void testSinWithEmptyStringArgument() { | |||
getEvaluator().getNumberResult(("sin('')")); | |||
} | |||
@Test(expected=InvalidCASFunctionArgumentException.class) | |||
public void testSinWithEmptyArgument() { | |||
getEvaluator().getNumberResult(("sin()")); | |||
} | |||
@Test(expected=UndefinedExerciseVariableException.class) | |||
public void testSinWithoutExerciseVariable() { | |||
getEvaluator().getNumberResult("sin('[var=j]')"); | |||
} | |||
@Test(expected=UndefinedFillInVariableException.class) | |||
public void testSinWithoutInput() { | |||
getEvaluator().getNumberResult("sin('[pos=42]')"); | |||
} | |||
</syntaxhighlight> | |||
===Hinweise=== | ===Hinweise=== |
Version vom 21. Juni 2017, 09:49 Uhr
Beschreibung
Der Sinus wird durch die sin-Funktion beschrieben. Sie erwartet einen Parameter und gibt einen Wert zurück.
Syntax
sin(String zeichenkette)
Parameter
- zeichenkette - ein Wert im Bogenmaß
Return Value
- Der Rückgabewert der Sinusfunktion.
Beispiele
sin('Pi') --> returns 0
sin('Pi/2') --> returns 1
JUnit Tests
@Before
public void beforeTest() {
placeFillInVariable(1, OMParser.parse("0"));
placeFillInVariable(2, OMParser.parse("Pi"));
placeExerciseVariable("a", OMParser.parse("0"));
}
@Test
public void testSin() {
assertTrue(0 == getEvaluator().getNumberResult("sin('0')"));
assertTrue(1 == getEvaluator().getNumberResult("sin('Pi/2')"));
assertTrue(-1 == getEvaluator().getNumberResult("sin('-Pi/2')"));
assertTrue(0 == getEvaluator().getNumberResult("sin('Pi')"));
assertTrue(0 == getEvaluator().getNumberResult("sin('-Pi')"));
}
@Test
public void testSinWithInput() {
assertTrue(0 == getEvaluator().getNumberResult("sin('[pos=1]')"));
assertTrue(1 == getEvaluator().getNumberResult("sin('[pos=2]/2')"));
}
@Test
public void testSinWithVariables() {
assertTrue(0 == getEvaluator().getNumberResult("sin('[var=a]')"));
assertTrue(1 == getEvaluator().getNumberResult("sin('[var=PI]/2')"));
}
@Test
public void testSinWithExpressions() {
assertTrue(0 == getEvaluator().getNumberResult("sin(sin(0))"));
assertTrue(0 == getEvaluator().getNumberResult("sin(sin(sin(0)))"));
}
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testSinWithONECharacter(){
getEvaluator().getNumberResult("sin(a)");
}
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testSinWithEmptyStringArgument() {
getEvaluator().getNumberResult(("sin('')"));
}
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testSinWithEmptyArgument() {
getEvaluator().getNumberResult(("sin()"));
}
@Test(expected=UndefinedExerciseVariableException.class)
public void testSinWithoutExerciseVariable() {
getEvaluator().getNumberResult("sin('[var=j]')");
}
@Test(expected=UndefinedFillInVariableException.class)
public void testSinWithoutInput() {
getEvaluator().getNumberResult("sin('[pos=42]')");
}
Hinweise
- Die Funktion braucht den Wert im Bogenmaß, ggf. muss man den Gradmaß vorher umrechnen.