EqualsBinary
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')");
}