CompareToIgnoreCase: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 22: | Zeile 22: | ||
compareToIgnoreCase('text','[var=a]') | compareToIgnoreCase('text','[var=a]') | ||
compareToIgnoreCase('[var=a]','[pos=1]') | compareToIgnoreCase('[var=a]','[pos=1]') | ||
====JUnit Tests==== | |||
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed"> | |||
@Before | |||
public void beforeTest() { | |||
placeFillInVariable(1, OMParser.parse("hallo")); | |||
placeExerciseVariable("a", OMParser.parse("hallo")); | |||
} | |||
@Test | |||
public void testCompareToIgnoreCase() { | |||
assertTrue(0 == getEvaluator().getNumberResult("compareToIgnoreCase('Hallo','HAlLo')")); | |||
assertTrue(0 == getEvaluator().getNumberResult("compareToIgnoreCase('Hallo','Hallo')")); | |||
assertTrue(0 == getEvaluator().getNumberResult("compareToIgnoreCase('jack','JACK')")); | |||
assertTrue(0 < getEvaluator().getNumberResult("compareToIgnoreCase('paluno','JACK')")); | |||
assertTrue(0 > getEvaluator().getNumberResult("compareToIgnoreCase('JACK','paluno')")); | |||
assertTrue(0 != getEvaluator().getNumberResult("compareToIgnoreCase('2x+2y','2*(x+y)')")); | |||
} | |||
@Test | |||
public void testCompareToIgnoreCaseWithInput() { | |||
assertTrue(0 > getEvaluator().getNumberResult("compareToIgnoreCase('[pos=1]','Hello')")); | |||
} | |||
@Test | |||
public void testCompareToIgnoreCaseWithVariables() { | |||
assertTrue(0 > getEvaluator().getNumberResult("compareToIgnoreCase('[var=a]','Hello')")); | |||
} | |||
@Test (expected=InvalidEvaluatorFunctionArgumentException.class) | |||
public void testCompareToIgnoreCaseWithWrongInputCharacter() { | |||
getEvaluator().getNumberResult("compareToIgnoreCase(a,'hallo')"); | |||
} | |||
@Test (expected=UnsupportedEvaluatorFunctionException.class) | |||
public void testCompareToIgnoreCaseWithOneArgument() { | |||
getEvaluator().getNumberResult("compareToIgnoreCase('hallo')"); | |||
} | |||
@Test (expected=UnsupportedEvaluatorFunctionException.class) | |||
public void testCompareToIgnoreCaseWithOneRationalAndOneTextArgument() { | |||
getEvaluator().getNumberResult("compareToIgnoreCase(12, 'hallo')"); | |||
} | |||
@Test (expected=UnsupportedEvaluatorFunctionException.class) | |||
public void testCompareToIgnoreCaseWithTwoRationalArguments() { | |||
getEvaluator().getNumberResult("compareToIgnoreCase(17, 8)"); | |||
} | |||
@Test (expected=UnsupportedEvaluatorFunctionException.class) | |||
public void testCompareToIgnoreCaseWithThreeArguments() { | |||
getEvaluator().getNumberResult("compareToIgnoreCase('hallo', 'hallo', 'hallo')"); | |||
} | |||
@Test (expected=UndefinedExerciseVariableException.class) | |||
public void testCompareToIgnoreCaseWithMissingExcerciseVariable() { | |||
getEvaluator().getNumberResult("compareToIgnoreCase('[var=j]', 'test')"); | |||
} | |||
@Test (expected=UndefinedFillInVariableException.class) | |||
public void testCompareToIgnoreCaseWithMissingInput() { | |||
getEvaluator().getNumberResult("compareToIgnoreCase('[pos=42]', 'test')"); | |||
} | |||
</syntaxhighlight> | |||
=== Hinweise === | === Hinweise === |
Version vom 20. Juni 2017, 15:35 Uhr
Beschreibung
Die Funktion compareToIgnoreCase bestimmt wie sehr zwei Zeichenketten lexikografisch voneinander abweichen. Im Gegensatz zu CompareTo werden dabei Groß- und Kleinschreibung nicht berücksichtigt. Die Funktion erwartet zwei Strings und gibt eine Zahl zurück.
Syntax
compareToIgnoreCase(String zeichenkette1, String zeichenkette2)
Parameter
- zeichenkette1 - erste zu vergleichende Zeichenkette
- zeichenkette2 - zweite zu vergleichende Zeichenkette
Return Value
- Gibt eine Ganzzahl zurück
Beispiele
Standardfälle
compareToIgnoreCase('hallo','hallo') --> returns 0 compareToIgnoreCase('hallo','JACK') --> returns -2 compareToIgnoreCase('JACK','jack') --> returns 0
Benutzung von Variablen
compareToIgnoreCase('[pos=1]','text') compareToIgnoreCase('text','[var=a]') compareToIgnoreCase('[var=a]','[pos=1]')
JUnit Tests
@Before
public void beforeTest() {
placeFillInVariable(1, OMParser.parse("hallo"));
placeExerciseVariable("a", OMParser.parse("hallo"));
}
@Test
public void testCompareToIgnoreCase() {
assertTrue(0 == getEvaluator().getNumberResult("compareToIgnoreCase('Hallo','HAlLo')"));
assertTrue(0 == getEvaluator().getNumberResult("compareToIgnoreCase('Hallo','Hallo')"));
assertTrue(0 == getEvaluator().getNumberResult("compareToIgnoreCase('jack','JACK')"));
assertTrue(0 < getEvaluator().getNumberResult("compareToIgnoreCase('paluno','JACK')"));
assertTrue(0 > getEvaluator().getNumberResult("compareToIgnoreCase('JACK','paluno')"));
assertTrue(0 != getEvaluator().getNumberResult("compareToIgnoreCase('2x+2y','2*(x+y)')"));
}
@Test
public void testCompareToIgnoreCaseWithInput() {
assertTrue(0 > getEvaluator().getNumberResult("compareToIgnoreCase('[pos=1]','Hello')"));
}
@Test
public void testCompareToIgnoreCaseWithVariables() {
assertTrue(0 > getEvaluator().getNumberResult("compareToIgnoreCase('[var=a]','Hello')"));
}
@Test (expected=InvalidEvaluatorFunctionArgumentException.class)
public void testCompareToIgnoreCaseWithWrongInputCharacter() {
getEvaluator().getNumberResult("compareToIgnoreCase(a,'hallo')");
}
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testCompareToIgnoreCaseWithOneArgument() {
getEvaluator().getNumberResult("compareToIgnoreCase('hallo')");
}
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testCompareToIgnoreCaseWithOneRationalAndOneTextArgument() {
getEvaluator().getNumberResult("compareToIgnoreCase(12, 'hallo')");
}
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testCompareToIgnoreCaseWithTwoRationalArguments() {
getEvaluator().getNumberResult("compareToIgnoreCase(17, 8)");
}
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testCompareToIgnoreCaseWithThreeArguments() {
getEvaluator().getNumberResult("compareToIgnoreCase('hallo', 'hallo', 'hallo')");
}
@Test (expected=UndefinedExerciseVariableException.class)
public void testCompareToIgnoreCaseWithMissingExcerciseVariable() {
getEvaluator().getNumberResult("compareToIgnoreCase('[var=j]', 'test')");
}
@Test (expected=UndefinedFillInVariableException.class)
public void testCompareToIgnoreCaseWithMissingInput() {
getEvaluator().getNumberResult("compareToIgnoreCase('[pos=42]', 'test')");
}
Hinweise
- Steht der erste String lexikografisch vor dem zweiten String, ist die Rückgabe negativ. Umgekehrt ist die Rückgabe entsprechend positiv.