### Question:
JSONReader { public Object read(String string) throws JSONException { this.it = new StringCharacterIterator(string); this.c = this.it.first(); return this.read(); }  Object read(String string);  }### Answer:
@Test public void testExponentialNumber() throws Exception { Object ret = reader.read("5e-5"); assertNotNull(ret); assertEquals(Double.class, ret.getClass()); assertEquals(5.0E-5, ret); }
@Test public void testExponentialNumber2() throws Exception { Object ret = reader.read("123.4e10"); assertNotNull(ret); assertEquals(Double.class, ret.getClass()); assertEquals(123.4e10, ret); }
@Test public void testDecimalNumber() throws Exception { Object ret = reader.read("3.2"); assertNotNull(ret); assertEquals(Double.class, ret.getClass()); assertEquals(3.2, ret); }
@Test public void testNaturalNumber() throws Exception { Object ret = reader.read("123"); assertNotNull(ret); assertEquals(Long.class, ret.getClass()); assertEquals(123L, ret); }