@Test
public void validConversions() throws Exception {

    for (TypeConverter pc : pcs) {
        // check that the registry has this class
        Object obj = pc.convert("0");
        Assert.assertEquals(obj, TypeConverterUtil.convert("0", obj.getClass()));
        Assert.assertEquals(Long.valueOf(0), pc.convert("0"));
        // min and max value of a long
        Assert.assertEquals(Long.valueOf(-9223372036854775808L), pc.convert("-9223372036854775808"));
        Assert.assertEquals(Long.valueOf(9223372036854775807L), pc.convert("9223372036854775807"));
        // hex versions
        Assert.assertEquals(Long.valueOf(0), pc.convert("0x0"));
        Assert.assertEquals(Long.valueOf(0), pc.convert("0X0"));
        Assert.assertEquals(Long.valueOf(9223372036854775807L), pc.convert("0x7FFFFFFFFFFFFFFF"));
        Assert.assertEquals(Long.valueOf(0xFFFFFFFFFFFFFFFFL), pc.convert("0xFFFFFFFFFFFFFFFF"));
    }
}