EqualsIgnoreCase: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
 
(8 dazwischenliegende Versionen von 4 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.
Zeile 14: Zeile 17:
=== 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">
@BeforeClass
public static void beforeTest() {
fillInVariableMap.put(7, OMConverter.toObject("<OMOBJ><OMSTR>hallo</OMSTR></OMOBJ>"));
fillInVariableMap.put(8, OMConverter.toObject("<OMOBJ><OMSTR>Hallo</OMSTR></OMOBJ>"));
exerciseVariableMap.put("g", OMConverter.toObject("<OMOBJ><OMSTR>hallo</OMSTR></OMOBJ>"));
exerciseVariableMap.put("h", OMConverter.toObject("<OMOBJ><OMSTR>Hallo</OMSTR></OMOBJ>"));
}
 
@Test
public void testEqualsIgnoreCase1() {
assertTrue(Evaluator.getBooleanResult("equalsIgnoreCase('hallo','hallo')", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testEqualsIgnoreCase2() {
assertTrue(Evaluator.getBooleanResult("equalsIgnoreCase('HALLO','hallo')", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testEqualsIgnoreCase3() {
assertFalse(Evaluator.getBooleanResult("equalsIgnoreCase('hallo welt','hallowelt')", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testEqualsIgnoreCase4() {
assertTrue(Evaluator.getBooleanResult("equalsIgnoreCase(' ',' ')", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testEqualsIgnoreCase5() {
assertFalse(Evaluator.getBooleanResult("equalsIgnoreCase(' ','  ')", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testEqualsIgnoreCase6() {
assertTrue(Evaluator.getBooleanResult("equalsIgnoreCase('','')", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testEqualsIgnoreCaseWithInput1() {
assertTrue(Evaluator.getBooleanResult("equalsIgnoreCase('[pos=7]','hallo')", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testEqualsIgnoreCaseWithInput2() {
assertTrue(Evaluator.getBooleanResult("equalsIgnoreCase('hallo','[pos=8]')", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testEqualsIgnoreCaseWithVariables1() {
assertTrue(Evaluator.getBooleanResult("equalsIgnoreCase('[var=g]','hallo')", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testEqualsIgnoreCaseWithVariables2() {
assertTrue(Evaluator.getBooleanResult("equalsIgnoreCase('hallo','[var=h]')", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testEqualsIgnoreCaseWithExpressions() {
assertTrue(Evaluator.getBooleanResult("equalsIgnoreCase(equalsIgnoreCase('1', '1'),equalsIgnoreCase('2', '2'))", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testEqualsIgnoreCaseWithWrongInputRational() {
assertTrue(Evaluator.getBooleanResult("equalsIgnoreCase(1, 1)", exerciseVariableMap, fillInVariableMap));
}
 
@Test (expected=ParserException.class)
public void testEqualsIgnoreCaseWithWrongCharacter() {
Evaluator.getBooleanResult("equalsIgnoreCase(ab, ab)", exerciseVariableMap, fillInVariableMap);
}
 
@Test (expected=FunctionInvalidNumberOfArgumentsException.class)
public void testEqualsIgnoreCaseWithOneArgument() {
Evaluator.getBooleanResult("equalsIgnoreCase('hallo')", exerciseVariableMap, fillInVariableMap);
fail();
}


@Test (expected=FunctionInvalidNumberOfArgumentsException.class)
==== Benutzung mit Variablen ====
public void testEqualsIgnoreCaseWithThreeArguments() {
equalsIgnoreCase('text', [var=a])
Evaluator.getBooleanResult("equalsIgnoreCase('hallo', 'test', '123')", exerciseVariableMap, fillInVariableMap);
fail();
equalsIgnoreCase([var=a], [var=b])
}


@Test (expected=UndefinedFillInVariableException.class)
==== Benutzung mit studentischen Eingaben ====
public void testEqualsIgnoreCaseWithMissingInput() {
'''Jack2:'''
Evaluator.getBooleanResult("equalsIgnoreCase('[pos=15]','hallo')", exerciseVariableMap, fillInVariableMap);
equalsIgnoreCase('[pos=1]', 'text')
fail();
}
equalsIgnoreCase('[var=b]', '[pos=2]')


@Test (expected=UndefinedExerciseVariableException.class)
'''Jack3:'''
public void testEqualsIgnoreCaseWithMissingExerciseVariable() {
equalsIgnoreCase([input=fillin1], 'text')
Evaluator.getBooleanResult("equalsIgnoreCase('[var=z]','hallo')", exerciseVariableMap, fillInVariableMap);
fail();
equalsIgnoreCase([var=b], [input=fillin2])
}
</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:Stringfunktionen]]
[[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.