/**
   * Round Trip test for a single MultiPolygon with lotsa points
   *
   * @throws SQLException
   */
  public void testSingleMultiPolygonManyPointsManyHolesRoundTrip() throws SQLException {

    PolygonGenerator pgc = new PolygonGenerator();
    pgc.setGeometryFactory(geometryFactory);
    pgc.setGenerationAlgorithm(PolygonGenerator.BOX);
    pgc.setNumberPoints(100);
    pgc.setNumberHoles(100);
    MultiGenerator pg = new MultiGenerator(pgc);
    pg.setBoundingBox(new Envelope(0, 10, 0, 10));
    pg.setNumberGeometries(3);
    pg.setGeometryFactory(geometryFactory);

    MultiPolygon pt = (MultiPolygon) pg.create();
    //		System.out.println((pt==null?"NULL":pt.toString()));

    OraWriter ow = new OraWriter();
    STRUCT st = ow.write(pt, getConnection());

    OraReader or = new OraReader();
    MultiPolygon pt2 = (MultiPolygon) or.read(st);

    //		System.out.println((pt==null?"NULL":pt.toString()));
    //		System.out.println((pt2==null?"NULL":pt2.toString()));
    assertTrue("The input MultiPolygon is not the same as the output MultiPolygon", pt.equals(pt2));
  }