@Test
public void parseInteger(){

	assertEquals(0, TypeUtil.parse(DataType.INTEGER, "-0"));
	assertEquals(0, TypeUtil.parse(DataType.INTEGER, "0"));
	assertEquals(1, TypeUtil.parse(DataType.INTEGER, "1"));
	assertEquals(1, TypeUtil.parse(DataType.INTEGER, "1.0"));
	assertEquals(1, TypeUtil.parse(DataType.INTEGER, "1e+0"));
	assertEquals(1, TypeUtil.parse(DataType.INTEGER, "1.0e+0"));
	assertEquals(0, TypeUtil.parse(DataType.INTEGER, "false"));
	assertEquals(1, TypeUtil.parse(DataType.INTEGER, "true"));
	assertEquals(Integer.MIN_VALUE, TypeUtil.parse(DataType.INTEGER, Integer.toString(Integer.MIN_VALUE)));
	try {
		TypeUtil.parse(DataType.INTEGER, Long.toString(Integer.MIN_VALUE - 1l));
		fail();
	} catch(IllegalArgumentException iae){
		// Ignored
	}
	try {
		TypeUtil.parse(DataType.INTEGER, Double.toString(Integer.MIN_VALUE - 1d));
		fail();
	} catch(IllegalArgumentException iae){
		// Ignored
	}
	assertEquals(Integer.MAX_VALUE, TypeUtil.parse(DataType.INTEGER, Integer.toString(Integer.MAX_VALUE)));
	try {
		TypeUtil.parse(DataType.INTEGER, Long.toString(Integer.MAX_VALUE + 1l));
		fail();
	} catch(IllegalArgumentException iae){
		// Ignored
	}
	try {
		TypeUtil.parse(DataType.INTEGER, Double.toString(Integer.MAX_VALUE + 1d));
		fail();
	} catch(IllegalArgumentException iae){
		// Ignored
	}
}