IsPolynomial: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 16: | Zeile 16: | ||
====JUnit Tests==== | ====JUnit Tests==== | ||
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed"> | <span class="mw-customtoggle-myDivision">[Anzeigen]</span> | ||
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision"> | |||
@Before | @Before | ||
public void beforeTest() { | public void beforeTest() { |
Version vom 27. Juni 2017, 09:26 Uhr
Beschreibung
Die Funktion isPolynomial 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.
Syntax
isPolynomial(String term, String variable)
Parameter
- term - der zu überprüfende Ausdruck
- variable - die Variable
Return Value
- Gibt einen Boolean zurück.
Beispiele
isPolynomial('x^2+x+1','x') --> returns true
JUnit Tests
[Anzeigen]
@Before
public void beforeTest() {
placeFillInVariable(1, OMParser.parse("x"));
placeFillInVariable(2, OMParser.parse("y"));
placeExerciseVariable("a", OMParser.parse("x"));
placeExerciseVariable("b", OMParser.parse("y"));
}
@Test
public void testIsPolynomial() {
assertTrue(getEvaluator().getBooleanResult("isPolynomial('x^2+x+1','x')"));
assertTrue(getEvaluator().getBooleanResult("isPolynomial('y^2+3y+4','y')"));
assertTrue(getEvaluator().getBooleanResult("isPolynomial('3a^5+2a^3-a','a')"));
assertTrue(getEvaluator().getBooleanResult("isPolynomial('m^3+2m-2','m')"));
assertTrue(getEvaluator().getBooleanResult("isPolynomial('x^2+x+1','y')"));
assertTrue(getEvaluator().getBooleanResult("isPolynomial('x','x')"));
assertTrue(getEvaluator().getBooleanResult("isPolynomial('sin(x)+ y^3', 'y')"));
assertTrue(getEvaluator().getBooleanResult("isPolynomial('E^(x) + y^3', 'y')"));
assertTrue(!getEvaluator().getBooleanResult("isPolynomial('sin(x)+ y^3', 'x')"));
assertTrue(!getEvaluator().getBooleanResult("isPolynomial('E^(x) + y^3', 'x')"));
}
@Test
public void testIsPolynomialWithInput() {
assertTrue(getEvaluator().getBooleanResult("isPolynomial('x^2+x+1','[pos=1]')"));
}
@Test
public void testIsPolynomialWithVariables() {
assertTrue(getEvaluator().getBooleanResult("isPolynomial('x^2+x+1','[var=a]')"));
}
@Test//(expected=AssertionError.class)
public void testIsPolynomialWithNumberAsSecondArgument() {
assertTrue(!getEvaluator().getBooleanResult("isPolynomial('sin(x)', '1')"));//Look if 1 is Polynomial
assertTrue(getEvaluator().getBooleanResult("isPolynomial('E^(x)', '0')")); //Look if 0 is Polynomial
assertTrue(!getEvaluator().getBooleanResult("isPolynomial('x^2+x+1','2')"));//Look if 2 is Polynomial
}
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testIsPolynomialWithEmptyStringArguments() {
getEvaluator().getBooleanResult(("isPolynomial('', '')"));
}
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testIsPolynomialWithEmptyArgument() {
getEvaluator().getBooleanResult(("isPolynomial()"));
}
@Test(expected=UndefinedExerciseVariableException.class)
public void testIsPolynomialWithoutExerciseVariable() {
getEvaluator().getBooleanResult("isPolynomial('[var=j]', '[var=j]')");
}
@Test(expected=UndefinedFillInVariableException.class)
public void testIsPolynomialWithoutInput() {
getEvaluator().getBooleanResult("isPolynomial('[pos=42]', '[pos=42]')");
}
Hinweise
- Der Ausdruck muss ein Polynom sein!