EqualsIgnoreCase: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(12 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
===Zugehörige Evaluatoren===
*'''MathEvaluator'''
=== Beschreibung ===
=== Beschreibung ===
Die Funktion ''equalsIgnoreCase'' vergleicht zwei Zeichenketten auf Übereinstimmung, wobei im Gegensatz zur Funktion [[Equals]] Groß- und Kleinschreibung nicht berücksichtigt werden. Die Funktion erwartet zwei Strings und gibt einen Boolean zurück.
Die Funktion ''equalsIgnoreCase'' vergleicht zwei Zeichenketten auf Übereinstimmung, wobei im Gegensatz zur Funktion [[Equals]] Groß- und Kleinschreibung nicht berücksichtigt werden. Die Funktion erwartet zwei Strings und gibt einen Boolean zurück.


=== Syntax ===
=== Syntax ===
  equalsIgnoreCase(String zeichenkette1, String zeichenkette2)
  equalsIgnoreCase([[Zeichenkette]] zeichenkette1, [[Zeichenkette]] zeichenkette2)


=== Parameter ===
=== Parameter ===
Zeile 10: Zeile 13:


=== Return Value ===
=== Return Value ===
* Gibt einen Boolean zurück
* Gibt einen [[Boolean]] zurück


=== Beispiele ===
=== Beispiele ===
==== Standardfälle ====
==== Standardfälle ====
  equalsIgnoreCase('hallo','hallo')  --> returns true
  equalsIgnoreCase('hallo','hallo')  --> returns ''true''
equalsIgnoreCase('JACK','jack')  --> returns true
   
 
  equalsIgnoreCase('JACK','jack')   --> returns ''true''
==== Benutzung von Variablen ====
equalsIgnoreCase('[pos=1]','text')
  equalsIgnoreCase('text','[var=a]')
  equalsIgnoreCase('[var=b]','[pos=2]')
 
====JUnit Tests====
<span class="mw-customtoggle-myDivision">[Anzeigen]</span>
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision">
@Before
public void beforeTest() {
  placeFillInVariable(1, OMParser.parse("hallo"));
  placeFillInVariable(2, OMParser.parse("Hallo"));
  placeExerciseVariable("a", OMParser.parse("hallo"));
  placeExerciseVariable("b", OMParser.parse("HALLO"));
}
 
@Test
public void testEqualsIgnoreCase() {
  assertTrue(getEvaluator().getBooleanResult("equalsIgnoreCase('hallo','hallo')"));
  assertTrue(getEvaluator().getBooleanResult("equalsIgnoreCase('HALLO','hallo')"));
  assertFalse(getEvaluator().getBooleanResult("equalsIgnoreCase('hallo welt','hallowelt')"));
  assertTrue(getEvaluator().getBooleanResult("equalsIgnoreCase(' ',' ')"));
  assertFalse(getEvaluator().getBooleanResult("equalsIgnoreCase(' ','  ')"));
  assertTrue(getEvaluator().getBooleanResult("equalsIgnoreCase('','')"));
}
 
@Test
public void testEqualsIgnoreCaseWithInput() {
  assertTrue(getEvaluator().getBooleanResult("equalsIgnoreCase('[pos=1]','hallo')"));
  assertTrue(getEvaluator().getBooleanResult("equalsIgnoreCase('hallo','[pos=2]')"));
}
 
@Test
public void testEqualsIgnoreCaseWithVariables() {
  assertTrue(getEvaluator().getBooleanResult("equalsIgnoreCase('[var=a]','hallo')"));
  assertTrue(getEvaluator().getBooleanResult("equalsIgnoreCase('hallo','[var=b]')"));
}
 
@Test
public void testEqualsIgnoreCaseWithExpressions() {
  assertTrue(getEvaluator().getBooleanResult("equalsIgnoreCase('equalsIgnorCase('1', '1')','equalsIgnorCase('2', '2')')"));
}
 
@Test (expected=InvalidEvaluatorFunctionArgumentException.class)
public void testEqualsIgnoreCaseWithWrongCharacter() {
  getEvaluator().getBooleanResult("equalsIgnoreCase(a, a)");
}


@Test (expected=UnsupportedEvaluatorFunctionException.class)
==== Benutzung mit Variablen ====
public void testEqualsIgnoreCaseWithWrongInputRational() {
equalsIgnoreCase('text', [var=a])
  getEvaluator().getBooleanResult("equalsIgnoreCase(1, 1)");
}
equalsIgnoreCase([var=a], [var=b])


@Test (expected=UnsupportedEvaluatorFunctionException.class)
==== Benutzung mit studentischen Eingaben ====
public void testEqualsIgnoreCaseWithOneArgument() {
'''Jack2:'''
  getEvaluator().getBooleanResult("equalsIgnoreCase('hallo')");
equalsIgnoreCase('[pos=1]', 'text')
}
equalsIgnoreCase('[var=b]', '[pos=2]')


@Test (expected=UnsupportedEvaluatorFunctionException.class)
'''Jack3:'''
public void testEqualsIgnoreCaseWithThreeArguments() {
equalsIgnoreCase([input=fillin1], 'text')
  getEvaluator().getBooleanResult("equalsIgnoreCase('hallo', 'test', '123')");
}
equalsIgnoreCase([var=b], [input=fillin2])
@Test (expected=UndefinedFillInVariableException.class)
public void testEqualsIgnoreCaseWithMissingInput() {
  getEvaluator().getBooleanResult("equalsIgnoreCase('[pos=15]','hallo')");
}
@Test (expected=UndefinedExerciseVariableException.class)
public void testEqualsIgnoreCaseWithMissingExerciseVariable() {
  getEvaluator().getBooleanResult("equalsIgnoreCase('[var=z]','hallo')");
}
</syntaxhighlight>


=== Hinweise ===
=== Hinweise ===
* Die Funktion unterscheidet NICHT zwischen Groß- und Kleinschreibung.
* Die Funktion unterscheidet NICHT zwischen Groß- und Kleinschreibung.
* Wenn Variablen genutzt werden muss darauf geachtet werden, dass diese die Voraussetzung erfüllen.
* Wenn die Eingabe der Studierenden genutzt wird muss auch hier darauf geachtet werden, dass die Voraussetzungen erfüllt sind und ob diese an der Stelle genutzt werden können.


[[Kategorie:Evaluatorfunktion]]
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Testfunktionen]][[Kategorie:Zeichenkettenfunktionen]][[Kategorie:JACK2]][[Kategorie:JACK3]]

Aktuelle Version vom 18. April 2024, 10:30 Uhr

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Die Funktion equalsIgnoreCase vergleicht zwei Zeichenketten auf Übereinstimmung, wobei im Gegensatz zur Funktion Equals Groß- und Kleinschreibung nicht berücksichtigt werden. Die Funktion erwartet zwei Strings und gibt einen Boolean zurück.

Syntax

equalsIgnoreCase(Zeichenkette zeichenkette1, Zeichenkette zeichenkette2)

Parameter

  • zeichenkette1 - erste zu vergleichende Zeichenkette
  • zeichenkette2 - zweite zu vergleichende Zeichenkette

Return Value

Beispiele

Standardfälle

equalsIgnoreCase('hallo','hallo')   --> returns true

equalsIgnoreCase('JACK','jack')   --> returns true

Benutzung mit Variablen

equalsIgnoreCase('text', [var=a])

equalsIgnoreCase([var=a], [var=b])

Benutzung mit studentischen Eingaben

Jack2:
equalsIgnoreCase('[pos=1]', 'text')

equalsIgnoreCase('[var=b]', '[pos=2]')
Jack3:
equalsIgnoreCase([input=fillin1], 'text')

equalsIgnoreCase([var=b], [input=fillin2])

Hinweise

  • Die Funktion unterscheidet NICHT zwischen Groß- und Kleinschreibung.
  • Wenn Variablen genutzt werden muss darauf geachtet werden, dass diese die Voraussetzung erfüllen.
  • Wenn die Eingabe der Studierenden genutzt wird muss auch hier darauf geachtet werden, dass die Voraussetzungen erfüllt sind und ob diese an der Stelle genutzt werden können.