@BeforeClass
public static void beforeTest() {
fillInVariableMap.put(7, OMConverter.toObject("<OMOBJ><OMSTR>oneString</OMSTR></OMOBJ>"));
fillInVariableMap.put(8, OMConverter.toObject("<OMOBJ><OMSTR>b</OMSTR></OMOBJ>"));
exerciseVariableMap.put("g", OMConverter.toObject("<OMOBJ><OMSTR>oneString</OMSTR></OMOBJ>"));
exerciseVariableMap.put("h", OMConverter.toObject("<OMOBJ><OMSTR>b</OMSTR></OMOBJ>"));
}
@Test
public void testLastIndexOf1() {
assertEquals(4, Evaluator.getNumberResult("lastIndexOf('abbbb','b',5)", exerciseVariableMap, fillInVariableMap),0.0);
}
@Test
public void testLastIndexOf2() {
assertEquals(0, Evaluator.getNumberResult("lastIndexOf('cabade','c',10)", exerciseVariableMap, fillInVariableMap),0.0);
}
@Test
public void testLastIndexOf3() {
assertEquals(-1, Evaluator.getNumberResult("lastIndexOf('cabade','test',10)", exerciseVariableMap, fillInVariableMap),0.0);
}
@Test
public void testLastIndexOf4() {
assertEquals(6, Evaluator.getNumberResult("lastIndexOf('he llo','lo',7)", exerciseVariableMap, fillInVariableMap),0.0);
}
@Test
public void testLastIndexOf5() {
assertEquals(0, Evaluator.getNumberResult("lastIndexOf('','',0)", exerciseVariableMap, fillInVariableMap),0.0);
}
@Test
public void testLastIndexOfWithInput1() {
assertEquals(3, Evaluator.getNumberResult("lastIndexOf('[pos=7]','S',7)", exerciseVariableMap, fillInVariableMap),0.0);
}
@Test
public void testLastIndexOfWithInput2() {
assertEquals(4, Evaluator.getNumberResult("lastIndexOf('abbbb','[pos=8]',5)", exerciseVariableMap, fillInVariableMap),0.0);
}
@Test
public void testLastIndexOfWithVariable1() {
assertEquals(3, Evaluator.getNumberResult("lastIndexOf('[var=g]','S',7)", exerciseVariableMap, fillInVariableMap),0.0);
}
@Test
public void testLastIndexOfWithVariable2() {
assertEquals(4, Evaluator.getNumberResult("lastIndexOf('abbbb','[var=h]',5)", exerciseVariableMap, fillInVariableMap),0.0);
}
@Test(expected=ParserException.class)
public void testLastIndexOfWithWrongInputCharacter() {
Evaluator.getNumberResult("lastIndexOf(ab, ab, ab)", exerciseVariableMap, fillInVariableMap);
fail();
}
@Test(expected=FunctionInvalidNumberOfArgumentsException.class)
public void testLastIndexOfWithOneArgument() {
Evaluator.getNumberResult("lastIndexOf('abab')", exerciseVariableMap, fillInVariableMap);
fail();
}
@Test
public void testLastIndexOfWithTwoArguments() {
assertEquals(2, Evaluator.getNumberResult("lastIndexOf('abab', 'ab')", exerciseVariableMap, fillInVariableMap), 0.0);
}
@Test(expected=UndefinedExerciseVariableException.class)
public void testLastIndexOfWithMissingExerciseVariable() {
Evaluator.getNumberResult("lastIndexOf('[var=j]', '[var=j]', '[var=j]')", exerciseVariableMap, fillInVariableMap);
fail();
}
@Test(expected=UndefinedFillInVariableException.class)
public void testLastIndexOfWithMissingInput() {
Evaluator.getNumberResult("lastIndexOf('[pos=42]', '[pos=42]', '[pos=42]')", exerciseVariableMap, fillInVariableMap);
fail();
}