CompareTo: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 17: | Zeile 17: | ||
compareTo('JACK','jack') --> returns -32 | compareTo('JACK','jack') --> returns -32 | ||
====JUnit Tests==== | |||
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed"> | |||
@Before | |||
public void beforeTest() { | |||
placeFillInVariable(1, OMParser.parse("test")); | |||
placeExerciseVariable("a", OMParser.parse("test")); | |||
} | |||
@Test | |||
public void testCompareTo() { | |||
assertTrue(0 == getEvaluator().getNumberResult("compareTo('Hallo','Hallo')")); | |||
assertTrue(0 == getEvaluator().getNumberResult("compareTo('HAlLo','HAlLo')")); | |||
assertTrue(0 < getEvaluator().getNumberResult("compareTo('jack','JACK')")); | |||
assertTrue(0 < getEvaluator().getNumberResult("compareTo('paluno','JACK')")); | |||
assertTrue(0 > getEvaluator().getNumberResult("compareTo('JACK','paluno')")); | |||
assertTrue(0 != getEvaluator().getNumberResult("compareTo('2x+2y','2*(x+y)')")); | |||
} | |||
@Test | |||
public void testCompareToWithInput() { | |||
assertTrue(0 == getEvaluator().getNumberResult("compareTo('[pos=1]','test')")); | |||
} | |||
@Test | |||
public void testCompareToWithVariables() { | |||
assertTrue(0 == getEvaluator().getNumberResult("compareTo('[var=a]','test')")); | |||
} | |||
@Test (expected=InvalidEvaluatorFunctionArgumentException.class) | |||
public void testCompareToWithWrongInputCharacter() { | |||
getEvaluator().getNumberResult("compareTo(a,'test')"); | |||
} | |||
@Test (expected=UnsupportedEvaluatorFunctionException.class) | |||
public void testCompareToWithOneArgument() { | |||
getEvaluator().getNumberResult("compareTo('Hallo')"); | |||
} | |||
@Test (expected=UnsupportedEvaluatorFunctionException.class) | |||
public void testCompareToWithOneRationalAndOneTextArgument() { | |||
getEvaluator().getNumberResult("compareTo(12, 'rational')"); | |||
} | |||
@Test (expected=UnsupportedEvaluatorFunctionException.class) | |||
public void testCompareToWithTwoRationalArguments() { | |||
getEvaluator().getNumberResult("compareTo(1, 2)"); | |||
} | |||
@Test (expected=UnsupportedEvaluatorFunctionException.class) | |||
public void testCompareToWithThreeArguments() { | |||
getEvaluator().getNumberResult("compareTo('hallo', 'hello', 'hillo')"); | |||
} | |||
@Test (expected=UndefinedExerciseVariableException.class) | |||
public void testCompareToWithMissingExcerciseVariable() { | |||
getEvaluator().getNumberResult("compareTo('[var=j]', 'test')"); | |||
} | |||
@Test (expected=UndefinedFillInVariableException.class) | |||
public void testCompareToWithMissingInput() { | |||
getEvaluator().getNumberResult("compareTo('[pos=42]', 'test')"); | |||
} | |||
</syntaxhighlight> | |||
=== Hinweise === | === Hinweise === | ||
* Die Funktion unterscheidet zwischen Groß- und Kleinschreibung. | * Die Funktion unterscheidet zwischen Groß- und Kleinschreibung. |
Version vom 20. Juni 2017, 15:33 Uhr
Beschreibung
Die Funktion compareTo bestimmt wie sehr zwei Zeichenketten lexikografisch voneinander abweichen. Die Funktion erwartet zwei Strings und gibt eine Zahl zurück.
Syntax
compareTo(String zeichenkette1, String zeichenkette2)
Parameter
- zeichenkette1 - erste zu vergleichende Zeichenkette
- zeichenkette2 - zweite zu vergleichende Zeichenkette
Return Value
- Gibt eine Zahl zurück
Beispiele
compareTo('hallo','hallo') --> returns 0 compareTo('hallo','JACK') --> returns 30 compareTo('JACK','jack') --> returns -32
JUnit Tests
@Before
public void beforeTest() {
placeFillInVariable(1, OMParser.parse("test"));
placeExerciseVariable("a", OMParser.parse("test"));
}
@Test
public void testCompareTo() {
assertTrue(0 == getEvaluator().getNumberResult("compareTo('Hallo','Hallo')"));
assertTrue(0 == getEvaluator().getNumberResult("compareTo('HAlLo','HAlLo')"));
assertTrue(0 < getEvaluator().getNumberResult("compareTo('jack','JACK')"));
assertTrue(0 < getEvaluator().getNumberResult("compareTo('paluno','JACK')"));
assertTrue(0 > getEvaluator().getNumberResult("compareTo('JACK','paluno')"));
assertTrue(0 != getEvaluator().getNumberResult("compareTo('2x+2y','2*(x+y)')"));
}
@Test
public void testCompareToWithInput() {
assertTrue(0 == getEvaluator().getNumberResult("compareTo('[pos=1]','test')"));
}
@Test
public void testCompareToWithVariables() {
assertTrue(0 == getEvaluator().getNumberResult("compareTo('[var=a]','test')"));
}
@Test (expected=InvalidEvaluatorFunctionArgumentException.class)
public void testCompareToWithWrongInputCharacter() {
getEvaluator().getNumberResult("compareTo(a,'test')");
}
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testCompareToWithOneArgument() {
getEvaluator().getNumberResult("compareTo('Hallo')");
}
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testCompareToWithOneRationalAndOneTextArgument() {
getEvaluator().getNumberResult("compareTo(12, 'rational')");
}
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testCompareToWithTwoRationalArguments() {
getEvaluator().getNumberResult("compareTo(1, 2)");
}
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testCompareToWithThreeArguments() {
getEvaluator().getNumberResult("compareTo('hallo', 'hello', 'hillo')");
}
@Test (expected=UndefinedExerciseVariableException.class)
public void testCompareToWithMissingExcerciseVariable() {
getEvaluator().getNumberResult("compareTo('[var=j]', 'test')");
}
@Test (expected=UndefinedFillInVariableException.class)
public void testCompareToWithMissingInput() {
getEvaluator().getNumberResult("compareTo('[pos=42]', 'test')");
}
Hinweise
- Die Funktion unterscheidet zwischen Groß- und Kleinschreibung.
- Steht der erste String lexikografisch vor dem zweiten String, ist die Rückgabe negativ. Umgekehrt ist die Rückgabe entsprechend positiv.