EqualsSemiSem

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

Beschreibung

Die Funktion equalssemisem vergleicht zwei rationale Zahlen miteinander auf ihre Gleichheit. Die Funktion erwartet zwei Zahlen und gibt einen Boolean zurück.

Syntax

equalsemisem(String zahl1, String zahl2)

Parameter

  • zahl1 - erste zu vergleichende rationale Zahl
  • zahl2 - zweite zu vergleichende rationale Zahl

Return Value

  • Gibt einen Boolean zurück

Beispiele

Standardfälle

equalssemisem('7.3','7.3')   --> returns true
equalssemisem('7.3','6.2')   --> returns false

Benutzung von Variablen

equalssemisem('[pos=1]','2.4')
equalssemisem('4.1','[var=a]')
equalssemisem('[var=a]','[pos=2]')

JUnit Tests

@Before 
public void beforeTest() {
  placeFillInVariable(1, OMParser.parse("2.7"));
  placeFillInVariable(2, OMParser.parse("3.5"));
		
  placeExerciseVariable("a", OMParser.parse("2.7"));
  placeExerciseVariable("b", OMParser.parse("3.5"));
}
	
@Test 
public void testEqualsSemiSem() {
  assertTrue(getEvaluator().getBooleanResult("equalssemisem('7.3','7.3')"));
  assertFalse(getEvaluator().getBooleanResult("equalssemisem('3','3.5')"));
  assertTrue(getEvaluator().getBooleanResult("equalssemisem('3.0','3')"));
  assertTrue(getEvaluator().getBooleanResult("equalssemisem('.5','0.5')"));
  assertTrue(getEvaluator().getBooleanResult("equalssemisem('5.','5')"));
}
	
@Test 
public void testEqualsSemiSemWithInput() {
  assertTrue(getEvaluator().getBooleanResult("equalssemisem('[pos=1]','2.7')"));
  assertTrue(getEvaluator().getBooleanResult("equalssemisem('3.5','[pos=2]')"));
}
	
@Test 
public void testEqualsSemiSemWithVariables() {
  assertTrue(getEvaluator().getBooleanResult("equalssemisem('[var=a]','2.7')"));
  assertTrue(getEvaluator().getBooleanResult("equalssemisem('3.5','[var=b]')"));
}
	
@Test (expected=InvalidEvaluatorFunctionArgumentException.class)
public void testEqualsSemiSemWithWrongInputWrongArguments() {
  getEvaluator().getBooleanResult("equalssemisem('5/2','2.5')");
}
		
@Test (expected=InvalidEvaluatorFunctionArgumentException.class)
public void testEqualsSemiSemWithWrongInputEmptyArguments() {
  getEvaluator().getBooleanResult("equalssemisem('','0.5')");
}
	
@Test (expected=InvalidEvaluatorFunctionArgumentException.class)
public void testEqualsSemiSemWithWrongInputCharacter() {
  getEvaluator().getBooleanResult("equalssemisem('a','a')");
}
	
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testEqualsSemiSemWithOneRationalAndOneTextArgument() {
  getEvaluator().getBooleanResult("equalssemisem(1,'1')");
}
	
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testEqualsSemiSemWithTwoRationalArguments() {
  getEvaluator().getBooleanResult("equalssemisem(1, 1)");
}
	
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testEqualsSemiSemWithOneArgument() {
  getEvaluator().getBooleanResult("equalssemisem('1')");
}
	
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testEqualsSemiSemWithThreeArguments() {
  getEvaluator().getBooleanResult("equalssemisem('1', '1', '1')");
}
	
@Test (expected=UndefinedExerciseVariableException.class)
public void testEqualsSemiSemWithMissingExerciseVariable() {
  getEvaluator().getBooleanResult("equalssemisem('[var=j]','2.5')");
}
	
@Test (expected=UndefinedFillInVariableException.class)
public void testEqualsSemiSemWithMissingInput() {
  getEvaluator().getBooleanResult("equalssemisem('[pos=42]','1.22')");
}

Hinweise

  • Es muss ein Dezimalpunkt statt eines Kommas verwendet werden.