@Test
public void testRlpDecode() {

	int pos = 0;
	String emptyString;
	byte[] decodedData;
	Object[] decodedList;
       emptyString =  (String)RLP.decode(Hex.decode(result01), pos).getDecoded();
	assertEquals("", emptyString);
       emptyString =  (String)RLP.decode(Hex.decode(result02), pos).getDecoded();
	assertEquals(test02, emptyString);
	decodedData = (byte[]) RLP.decode(Hex.decode(result03), pos).getDecoded();
	assertEquals(test03, bytesToAscii(decodedData));
	
	decodedData = (byte[]) RLP.decode(Hex.decode(result04), pos).getDecoded();
	assertEquals(test04, bytesToAscii(decodedData));
	
	decodedData = (byte[]) RLP.decode(Hex.decode(result05), pos).getDecoded();
	assertEquals(test05, bytesToAscii(decodedData));
	
	decodedList = (Object[]) RLP.decode(Hex.decode(result06), pos).getDecoded();
	assertEquals(test06[0], bytesToAscii((byte[]) decodedList[0]));
	assertEquals(test06[1], bytesToAscii((byte[]) decodedList[1]));
	
	decodedList = (Object[]) RLP.decode(Hex.decode(result07), pos).getDecoded();
	assertEquals(test07[0], bytesToAscii((byte[]) decodedList[0]));
	assertEquals(test07[1], bytesToAscii((byte[]) decodedList[1]));
	assertEquals(test07[2], bytesToAscii((byte[]) decodedList[2]));
	
	// 1
	decodedData = (byte[]) RLP.decode(Hex.decode(result08), pos).getDecoded();
	assertEquals(test08, byteArrayToInt(decodedData));
	// 10
	decodedData = (byte[]) RLP.decode(Hex.decode(result09), pos).getDecoded();
	assertEquals(test09, byteArrayToInt(decodedData));
	// 100
	decodedData = (byte[]) RLP.decode(Hex.decode(result10), pos).getDecoded();
	assertEquals(test10, byteArrayToInt(decodedData));
	// 1000 
	decodedData = (byte[]) RLP.decode(Hex.decode(result11), pos).getDecoded();
	assertEquals(test11, byteArrayToInt(decodedData));
	
	decodedData = (byte[]) RLP.decode(Hex.decode(result12), pos).getDecoded();
	assertTrue(test12.compareTo(new BigInteger(1, decodedData)) == 0);
	
	decodedData = (byte[]) RLP.decode(Hex.decode(result13), pos).getDecoded();
	assertTrue(test13.compareTo(new BigInteger(1, decodedData)) == 0);
	
	// Need to test with different expected value, because decoding doesn't recognize types
	Object testObject1 = RLP.decode(Hex.decode(result14), pos).getDecoded();
	assertTrue(DeepEquals.deepEquals(expected14, testObject1));
	
	Object testObject2 = RLP.decode(Hex.decode(result15), pos).getDecoded();
	assertTrue(DeepEquals.deepEquals(test15, testObject2));
	
	// Need to test with different expected value, because decoding doesn't recognize types
	Object testObject3 = RLP.decode(Hex.decode(result16), pos).getDecoded();
	assertTrue(DeepEquals.deepEquals(expected16, testObject3));
}