### Question:
InputConversionEngine { public Object convertInput(String string, Class aClass) throws Exception { for (InputConverter currentConverter : inputConverters ){ Object conversionResult = currentConverter.convertInput(string, aClass); if (conversionResult != null) { if (!aClass.isAssignableFrom(conversionResult.getClass())) { throw new CLIException("Registered asg.Cliche converter " + currentConverter + " returns wrong result"); } else { return conversionResult; } } } return convertArgToElementaryType(string, aClass); }  void addConverter(InputConverter converter); boolean removeConverter(InputConverter converter); Object convertInput(String string, Class aClass); final Object[] convertToParameters(List<Token> tokens, ShellCommandParamSpec[] specs, Class[] paramClasses, boolean isVarArgs); void addDeclaredConverters(Object handler);  }### Answer:
@Test public void testElementaryTypes() throws Exception { System.out.println("testElementaryTypes"); String[] strings = { "aString", "some-object", "1243", "12432141231256", "12.6", "12.6", "true", }; Class[] classes = { String.class, Object.class, Integer.class, Long.class, Double.class, Float.class, Boolean.class, }; Object[] results = { "aString", (Object) "some-object", new Integer(1243), new Long(12432141231256l), new Double(12.6), new Float(12.6f), new Boolean(true), }; for (int i = 0; i < strings.length; i++) { assertEquals(results[i], converter.convertInput(strings[i], classes[i])); } }