EqualsExpr: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 15: | Zeile 15: | ||
equalsExpr('x^2 - 5x + 6','(x-2)(x-3)') --> returns true | equalsExpr('x^2 - 5x + 6','(x-2)(x-3)') --> returns true | ||
====JUnit Tests==== | |||
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed"> | |||
@Before | |||
public void beforeTest() { | |||
placeFillInVariable(1, OMParser.parse("0")); | |||
placeFillInVariable(2, OMParser.parse("Power[x, 2]")); | |||
placeExerciseVariable("a", OMParser.parse("0")); | |||
placeExerciseVariable("b", OMParser.parse("1")); | |||
placeExerciseVariable("c", OMParser.parse("5")); | |||
placeExerciseVariable("d", OMParser.parse("Power[x, 2]")); | |||
} | |||
@Test | |||
public void testEqualsExpr() { | |||
assertTrue(getEvaluator().getBooleanResult("equalsExpr('x^2-5x+6','(x-2)(x-3)')")); | |||
assertTrue(getEvaluator().getBooleanResult("equalsExpr('x*x-5*x+6','(x-2)*(x-3)')")); | |||
assertTrue(getEvaluator().getBooleanResult("equalsExpr('1/2x^2+3x-5','0.5x^2+3x-5')")); | |||
assertTrue(getEvaluator().getBooleanResult("equalsExpr('(a-b)/(b^2-a^2)','(a-b)/(b^2-a^2)')")); | |||
assertTrue(!getEvaluator().getBooleanResult("equalsExpr('x^2+x+1','a^2+a+1')")); | |||
assertTrue(getEvaluator().getBooleanResult("equalsExpr('(x^2)/2','0.5x^2')")); | |||
assertTrue(getEvaluator().getBooleanResult("equalsExpr('1','1')")); | |||
} | |||
@Test | |||
public void testEqualsExprWithInput() { | |||
assertTrue(getEvaluator().getBooleanResult("equalsExpr('0','[pos=1]')")); | |||
assertTrue(getEvaluator().getBooleanResult("equalsExpr('x*x','[pos=2]')")); | |||
} | |||
@Test | |||
public void testEqualsExprWithVariables() { | |||
assertTrue(getEvaluator().getBooleanResult("equalsExpr('[var=b]x^2+[var=c]x+[var=a]','x^2+5x')")); | |||
assertTrue(getEvaluator().getBooleanResult("equalsExpr('[var=d]','x^2')")); | |||
} | |||
@Test | |||
public void testEqualsExprWithEmptyStringArguments() { | |||
assertTrue(!getEvaluator().getBooleanResult("equalsExpr('x^2+x+1','')")); | |||
assertTrue(!getEvaluator().getBooleanResult("equalsExpr('','x^2+x+1')")); | |||
assertTrue(getEvaluator().getBooleanResult("equalsExpr('','')")); | |||
} | |||
@Test | |||
public void testEqualsExprWithEmptyArgument() { | |||
assertTrue(!getEvaluator().getBooleanResult("equalsExpr()")); | |||
} | |||
@Test | |||
public void testEqualsExprWithONECharacter() { | |||
assertTrue(getEvaluator().getBooleanResult("equalsExpr(a, a)")); | |||
} | |||
@Test(expected=UndefinedExerciseVariableException.class) | |||
public void testEqualsExprWithoutExerciseVariable() { | |||
getEvaluator().getBooleanResult("equalsExpr([var=j], [var=j])"); | |||
} | |||
@Test(expected=UndefinedFillInVariableException.class) | |||
public void testEqualsExprWithoutInput() { | |||
getEvaluator().getBooleanResult("equalsExpr([pos=42], [pos=42])"); | |||
} | |||
@Test(expected=EvaluatorException.class) | |||
public void testEqualsExprWithSemanticallyIncorrectInput(){ | |||
getEvaluator().getBooleanResult("equalsExpr('(4,2)', '4.2')"); | |||
} | |||
</syntaxhighlight> | |||
===Hinweise=== | ===Hinweise=== | ||
[[Kategorie:Evaluatorfunktion]] | [[Kategorie:Evaluatorfunktion]] |
Version vom 20. Juni 2017, 16:17 Uhr
Beschreibung
Die Funktion equalsExpr vergleicht zwei mathematische Ausdrücke miteinander. Sie erwartet zwei Strings und gibt einen Boolean zurück.
Syntax
equalsExpr(Expression term1, Expression term2)
Parameter
- term1 - der Ausdruck, der als Grundlage für den Vergleich dient
- term2 - der Ausdruck, der mit term1 verglichen werden soll
Return Value
- Gibt einen Boolean zurück, true falls die beiden Ausdrücke übereinstimmen und false falls sie nicht übereinstimmen.
Beispiel
equalsExpr('x^2 - 5x + 6','(x-2)(x-3)') --> returns true
JUnit Tests
@Before
public void beforeTest() {
placeFillInVariable(1, OMParser.parse("0"));
placeFillInVariable(2, OMParser.parse("Power[x, 2]"));
placeExerciseVariable("a", OMParser.parse("0"));
placeExerciseVariable("b", OMParser.parse("1"));
placeExerciseVariable("c", OMParser.parse("5"));
placeExerciseVariable("d", OMParser.parse("Power[x, 2]"));
}
@Test
public void testEqualsExpr() {
assertTrue(getEvaluator().getBooleanResult("equalsExpr('x^2-5x+6','(x-2)(x-3)')"));
assertTrue(getEvaluator().getBooleanResult("equalsExpr('x*x-5*x+6','(x-2)*(x-3)')"));
assertTrue(getEvaluator().getBooleanResult("equalsExpr('1/2x^2+3x-5','0.5x^2+3x-5')"));
assertTrue(getEvaluator().getBooleanResult("equalsExpr('(a-b)/(b^2-a^2)','(a-b)/(b^2-a^2)')"));
assertTrue(!getEvaluator().getBooleanResult("equalsExpr('x^2+x+1','a^2+a+1')"));
assertTrue(getEvaluator().getBooleanResult("equalsExpr('(x^2)/2','0.5x^2')"));
assertTrue(getEvaluator().getBooleanResult("equalsExpr('1','1')"));
}
@Test
public void testEqualsExprWithInput() {
assertTrue(getEvaluator().getBooleanResult("equalsExpr('0','[pos=1]')"));
assertTrue(getEvaluator().getBooleanResult("equalsExpr('x*x','[pos=2]')"));
}
@Test
public void testEqualsExprWithVariables() {
assertTrue(getEvaluator().getBooleanResult("equalsExpr('[var=b]x^2+[var=c]x+[var=a]','x^2+5x')"));
assertTrue(getEvaluator().getBooleanResult("equalsExpr('[var=d]','x^2')"));
}
@Test
public void testEqualsExprWithEmptyStringArguments() {
assertTrue(!getEvaluator().getBooleanResult("equalsExpr('x^2+x+1','')"));
assertTrue(!getEvaluator().getBooleanResult("equalsExpr('','x^2+x+1')"));
assertTrue(getEvaluator().getBooleanResult("equalsExpr('','')"));
}
@Test
public void testEqualsExprWithEmptyArgument() {
assertTrue(!getEvaluator().getBooleanResult("equalsExpr()"));
}
@Test
public void testEqualsExprWithONECharacter() {
assertTrue(getEvaluator().getBooleanResult("equalsExpr(a, a)"));
}
@Test(expected=UndefinedExerciseVariableException.class)
public void testEqualsExprWithoutExerciseVariable() {
getEvaluator().getBooleanResult("equalsExpr([var=j], [var=j])");
}
@Test(expected=UndefinedFillInVariableException.class)
public void testEqualsExprWithoutInput() {
getEvaluator().getBooleanResult("equalsExpr([pos=42], [pos=42])");
}
@Test(expected=EvaluatorException.class)
public void testEqualsExprWithSemanticallyIncorrectInput(){
getEvaluator().getBooleanResult("equalsExpr('(4,2)', '4.2')");
}