### Question:
GeoJsonReader { public Geometry read(String json) throws ParseException { Splittable data = decode(json); return readGeometry(data); } GeoJsonReader();  GeoJsonReader(GeometryFactory gf); Geometry read(String json); Geometry readFeature(String json); List<Geometry> readFeatureCollection(String json); GeometryFactory getGeometryFactory();  }### Answer:
@Test public void itShouldReadPoint() throws IOException, ParseException { Point p = (Point) sReader.read(readGeoJsonFile("point1")); assertEquals(10, p.getX(), 0); assertEquals(20, p.getY(), 0); assertEquals(Double.NaN, p.getZ(), 0); p = (Point) sReader.read(readGeoJsonFile("point2")); assertEquals(10, p.getX(), 0); assertEquals(20, p.getY(), 0); assertEquals(30, p.getZ(), 0); }
@Test(expected = ParseException.class) public void itShouldReadEmptyCoords() throws IOException, ParseException { sReader.read(readGeoJsonFile("point3")); }
@Test public void itShouldReadLineString() throws IOException, ParseException { LineString actual = (LineString) sReader.read(readGeoJsonFile("line1")); LineString expected = (LineString) sWkt.read("LINESTRING (10 20, 30 40, 50 60)"); assertEquals(expected, actual); actual = (LineString) sReader.read(readGeoJsonFile("line2")); expected = (LineString) sWkt.read("LINESTRING (10 20 30, 30 40 50, 50 60 70)"); assertEquals(expected, actual); actual = (LineString) sReader.read(readGeoJsonFile("line3")); expected = (LineString) sWkt.read("LINESTRING EMPTY"); assertEquals(expected, actual); }