EqualsBinary

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

Beschreibung

Die Funktion equalsBinary prüft, ob eine Dezimalzahl und eine Binärzahl den gleichen Wert haben. Die Funktion erwartet zwei Zahlen, die erste in Dezimaldarstellung, die zweite in Binärdarstellung, und gibt einen Boolean zurück.

Syntax

equalsBinary(String dezimal, String binär)

Parameter

  • dezimal - Ganzzahl in Dezimaldarstellung
  • binär - zu vergleichende Zahl in Binärdarstellung

Return Value

  • Gibt einen Boolean zurück

Beispiele

Standardfälle

equalsBinary('15','1111')   --> returns true
equalsBinary('6','101')   --> returns false

Benutzung von Variablen

equalsBinary('[pos=1]','10')
equalsBinary('4','[var=a]')
equalsBinary('[var=b]','[pos=2]')


JUnit Tests

[Anzeigen]

@Before 
public void beforeTest() {
  placeFillInVariable(1, OMParser.parse("0"));
  placeFillInVariable(2, OMParser.parse("1"));
  placeFillInVariable(3, OMParser.parse("7"));
		
  placeExerciseVariable("a", OMParser.parse("0"));
  placeExerciseVariable("b", OMParser.parse("1"));
  placeExerciseVariable("c", OMParser.parse("7"));
}
	
@Test 
public void testEqualsBinary() {
  assertTrue(getEvaluator().getBooleanResult("equalsBinary('15','1111')"));
  assertTrue(getEvaluator().getBooleanResult("equalsBinary('3','00011')"));
  assertFalse(getEvaluator().getBooleanResult("equalsBinary('16','101')"));
}
	
@Test 
public void testEqualsBinaryWithInput() {
  assertTrue(getEvaluator().getBooleanResult("equalsBinary('2','[pos=2][pos=1]')"));
  assertTrue(getEvaluator().getBooleanResult("equalsBinary('[pos=3]','0111')"));
}
	
@Test 
public void testEqualsBinaryWithVariables() {
  assertTrue(getEvaluator().getBooleanResult("equalsBinary('2','[var=b][var=a]')"));
  assertTrue(getEvaluator().getBooleanResult("equalsBinary('[var=c]','0111')"));
}
	
@Test 
public void testEqualsBinaryWithExpressions() {
  assertTrue((getEvaluator().getBooleanResult("equalsBinary('equalsBinary('3','11')', 'equalsBinary('2','10')')")));
}
	
@Test (expected=InvalidEvaluatorFunctionArgumentException.class)
public void testEqualsBinaryWithWrongInputDecimalAsSecondArgument() {
  getEvaluator().getBooleanResult("equalsBinary('2','15')");
}
	
@Test (expected=InvalidEvaluatorFunctionArgumentException.class)
public void testEqualsBinaryWithWrongInputPointNumberAsFirstArgument() {
  getEvaluator().getBooleanResult("equalsBinary('2.6','11')");
}
	
@Test (expected=InvalidEvaluatorFunctionArgumentException.class)
public void testEqualsBinaryWithWrongInputEmptyArguments() {
  getEvaluator().getBooleanResult("equalsBinary('','')");
}
	
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testEqualsBinaryWithTwoRationalArguments() {
  getEvaluator().getBooleanResult("equalsBinary(7, 111)");
}
	
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testEqualsBinaryWithOneArgument() {
  getEvaluator().getBooleanResult("equalsBinary('11')");
}
	
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testEqualsBinaryWithThreeArguments() {
  getEvaluator().getBooleanResult("equalsBinary('7','111', '0111')");
}
	
@Test (expected=UndefinedFillInVariableException.class)
public void testEqualsBinaryWithMissingInput() {
  getEvaluator().getBooleanResult("equalsBinary('[pos=10]','11')");
}
	
@Test (expected=UndefinedExerciseVariableException.class)
public void testEqualsBinaryWithMissingVariable() {
  getEvaluator().getBooleanResult("equalsBinary('[var=u]','11')");
}

Hinweise