public void testRead() {
		try {
			ConfigurationManager.init("src/test/resources/test.json");
			
			try {
				Object[] test_array = ConfigurationManager.read.getArrayItem("test", "array");
				assertEquals(123L, test_array[0]);
				
				Long test_long = ConfigurationManager.read.getLongItem("test", "long");
				assertEquals(new Long(321), test_long);
				
				// Direct test without the casting methods
				test_long = (Long) ConfigurationManager.read.getItem("test", "long");
				assertEquals(new Long(321), test_long);
				
				int test_integer = ConfigurationManager.read.getIntegerItem("test", "integer");
				assertEquals(321, test_integer);
				
				Double test_double = ConfigurationManager.read.getDoubleItem("test", "double");
				assertEquals(new Double(1.23), test_double);
				
				Float test_float = ConfigurationManager.read.getFloatItem("test", "float");
				assertEquals(new Float(3.21), test_float);
				
				String test_string = ConfigurationManager.read.getStringItem("test", "string");
				assertEquals("test", test_string);
				
				JSONObject test_object = ConfigurationManager.read.getJSONObjectItem("test", "object");
				assertEquals("test", test_object.get("test"));
				
				Boolean test_boolean = ConfigurationManager.read.getBooleanItem("test_bool");
				assertEquals(true, test_boolean);
				
				// Top level test
				String test_string_top = ConfigurationManager.read.getStringItem("test_2");
				assertEquals("test", test_string_top);
			} catch (ReaderException e) {
				e.printStackTrace();
			}
		} catch (ReaderException e) {
			e.printStackTrace();
		}
	}