@Test
public void arrayConversions() {

    Object obj = converter.convertFromString(new int[0].getClass().getName(),"10,20,30");
    int expected[] = new int[] { 10,20,30};
    for (int i = 0;i < expected.length;i++) {
        assertEquals(expected[i],((int[]) obj)[i]);
    }
    obj = converter.convertFromString(new Integer[0].getClass().getName(),"10,20,30");
    for (int i = 0;i < expected.length;i++) {
        assertEquals(expected[i],(int) ((Integer[]) obj)[i]);
    }
    // Escaped arrays
    String[] strings = (String[]) converter.convertFromString(new String[0].getClass().getName(),"hallo!,hans!!,wu!!rs!t");
    assertEquals(strings.length,2);
    assertEquals("hallo,hans!",strings[0]);
    assertEquals("wu!rst",strings[1]);
    try {
        obj = converter.convertFromString("[Lbla;","10,20,30");
        fail("Unknown object type");
    } catch (IllegalArgumentException exp) {}
    try {
        obj = converter.convertFromString("[X","10,20,30");
        fail("Unknown object type");
    } catch (IllegalArgumentException exp) {}
}