IsRealNumber: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
K (Spobel verschob die Seite IsNumber nach IsRealNumber)
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
=== Beschreibung ===
=== Beschreibung ===
Die Funktion ''isNumber'' prüft, ob es sich bei einer gegebenen Zeichenkette um eine Zahl handelt. Die Funktion erwartet einen String und gibt einen Boolean zurück.
Die Funktion ''isRealNumber'' prüft, ob es sich bei einem gegebenen [[Objekt]] um eine Zahl handelt. Die Funktion gibt einen Boolean zurück.


=== Syntax ===
=== Syntax ===
  isNumber(Objekt objekt)
  isRealNumber(Objekt objekt)


=== Parameter ===
=== Parameter ===
Zeile 13: Zeile 13:
=== Beispiele ===
=== Beispiele ===
==== Standardfälle ====
==== Standardfälle ====
  isNumber(15.3)  --> returns true
  isRealNumber(15.3)  --> returns true
  isNumber('zahl')  --> returns false
  isRealNumber('zahl')  --> returns false


==== Benutzung von Variablen ====
==== Benutzung von Variablen ====
  isNumber([pos=1])
  isRealNumber([pos=1])
  isNumber([var=a])
  isRealNumber([var=a])


====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() {
OMOBJ zero = new OMOBJ();
OMOBJ mTwelve = new OMOBJ();
OMOBJ twoHundred = new OMOBJ();
zero.setOMI(OMCreator.createOMI(0));
mTwelve.setOMI(OMCreator.createOMI(-12));
twoHundred.setOMI(OMCreator.createOMI(200));
exerVar.put("a", twoHundred);
exerVar.put("b", zero);
exerVar.put("c", mTwelve);
fillIn.put(1, twoHundred);
fillIn.put(2, zero);
fillIn.put(3, mTwelve);
}
@Test
public void testIsNumber1() {
assertEquals(true, Evaluator.getBooleanResult("isNumber('10')", exerVar, fillIn));
}
@Test
public void testIsNumber2() {
assertEquals(true, Evaluator.getBooleanResult("isNumber('1234567890')", exerVar, fillIn));
}
@Test
public void testIsNumber3() {
assertEquals(true, Evaluator.getBooleanResult("isNumber('-101230')", exerVar, fillIn));
}
@Test
public void testIsNumber4() {
assertEquals(false, Evaluator.getBooleanResult("isNumber('12$56&')", exerVar, fillIn));
}
@Test
public void testIsNumber5() {
assertEquals(false, Evaluator.getBooleanResult("isNumber('&!ร‚ยง$%&/()123asdf')", exerVar, fillIn));
}
@Test
public void testIsNumber6() {
assertEquals(false, Evaluator.getBooleanResult("isNumber('abcde')", exerVar, fillIn));
}
@Test
public void testIsNumberWithInput1() {
assertEquals(true, Evaluator.getBooleanResult("isNumber('[pos=1]')", exerVar, fillIn));
}
@Test
public void testIsNumberWithInput2() {
assertEquals(true, Evaluator.getBooleanResult("isNumber('[pos=2]')", exerVar, fillIn));
}
@Test
public void testIsNumberWithInput3() {
assertEquals(true, Evaluator.getBooleanResult("isNumber('[pos=3]')", exerVar, fillIn));
}
@Test
public void testIsNumberWithVariables1() {
assertEquals(true, Evaluator.getBooleanResult("isNumber('[var=a]')", exerVar, fillIn));
}
@Test
public void testIsNumberWithVariables2() {
assertEquals(true, Evaluator.getBooleanResult("isNumber('[var=b]')", exerVar, fillIn));
}
@Test
public void testIsNumberWithVariables3() {
assertEquals(true, Evaluator.getBooleanResult("isNumber('[var=c]')", exerVar, fillIn));
}
@Test
public void testIsNumberWithWrongInputCharacter() {
assertEquals(false, Evaluator.getBooleanResult("isNumber(a)", exerVar, fillIn));
}
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)
public void testIsNumberWithTwoArguments() {
Evaluator.getBooleanResult("isNumber(3/2 , 0)", exerVar, fillIn);
}
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)
public void testIsNumberWithThreeArguments() {
Evaluator.getBooleanResult("isNumber(3/2, 1/3, 3/1)", exerVar, fillIn);
}
@Test(expected = UndefinedExerciseVariableException.class)
public void testIsNumberWithMissingExerciseVariable() {
Evaluator.getBooleanResult("isNumber('[var=j]')", exerVar, fillIn);
}
@Test(expected = UndefinedFillInVariableException.class)
public void testIsNumberWithMissingInput() {
Evaluator.getBooleanResult("isNumber('[pos=42]')", exerVar, fillIn);
}
</syntaxhighlight>


=== Hinweise ===
=== Hinweise ===


[[Kategorie:Evaluatorfunktion]]
[[Kategorie:Evaluatorfunktion]][[Kategorie:Testuatorfunktionen]]

Version vom 25. Oktober 2017, 12:21 Uhr

Beschreibung

Die Funktion isRealNumber prüft, ob es sich bei einem gegebenen Objekt um eine Zahl handelt. Die Funktion gibt einen Boolean zurück.

Syntax

isRealNumber(Objekt objekt)

Parameter

  • objekt - das zu überprüfende Objekt

Return Value

Beispiele

Standardfälle

isRealNumber(15.3)   --> returns true
isRealNumber('zahl')   --> returns false

Benutzung von Variablen

isRealNumber([pos=1])
isRealNumber([var=a])


Hinweise