/**
   * Test multi polygon geometries read from a GML 3.1 file
   *
   * @throws Exception if an error occurs
   */
  @Test
  public void testMultiPolygonGml31() throws Exception {
    InstanceCollection instances =
        AbstractHandlerTest.loadXMLInstances(
            getClass().getResource("/data/gml/geom-gml31.xsd").toURI(),
            getClass().getResource("/data/polygon/sample-multipolygon-gml31.xml").toURI());

    // one instance expected
    ResourceIterator<Instance> it = instances.iterator();
    try {
      // MultiPolygonProperty with LinearRings defined through coordinates
      assertTrue("First sample feature missing", it.hasNext());
      Instance instance = it.next();
      checkPolygonPropertyInstance(instance);
    } finally {
      it.close();
    }
  }
  @Override
  public void init() {
    super.init();

    LinearRing shell =
        geomFactory.createLinearRing(
            new Coordinate[] {
              new Coordinate(0.01, 3.2),
              new Coordinate(3.33, 3.33),
              new Coordinate(0.01, -3.2),
              new Coordinate(-3.33, -3.2),
              new Coordinate(0.01, 3.2)
            });

    LinearRing[] holes = new LinearRing[2];
    LinearRing hole1 =
        geomFactory.createLinearRing(
            new Coordinate[] {
              new Coordinate(0, 1),
              new Coordinate(1, 1),
              new Coordinate(0, -1),
              new Coordinate(-1, -1),
              new Coordinate(0, 1)
            });
    LinearRing hole2 =
        geomFactory.createLinearRing(
            new Coordinate[] {
              new Coordinate(0, 2),
              new Coordinate(2, 2),
              new Coordinate(0, -2),
              new Coordinate(-2, -2),
              new Coordinate(0, 2)
            });
    holes[0] = hole1;
    holes[1] = hole2;

    Polygon polygon1 = geomFactory.createPolygon(shell, holes);

    shell =
        geomFactory.createLinearRing(
            new Coordinate[] {
              new Coordinate(6.01, 9.2),
              new Coordinate(9.33, 9.33),
              new Coordinate(6.01, -9.2),
              new Coordinate(-9.33, -9.2),
              new Coordinate(6.01, 9.2)
            });

    holes = new LinearRing[2];
    hole1 =
        geomFactory.createLinearRing(
            new Coordinate[] {
              new Coordinate(2, 3),
              new Coordinate(3, 3),
              new Coordinate(2, -3),
              new Coordinate(-3, -3),
              new Coordinate(2, 3)
            });
    hole2 =
        geomFactory.createLinearRing(
            new Coordinate[] {
              new Coordinate(2, 4),
              new Coordinate(4, 4),
              new Coordinate(2, -4),
              new Coordinate(-4, -4),
              new Coordinate(2, 4)
            });
    holes[0] = hole1;
    holes[1] = hole2;

    Polygon polygon2 = geomFactory.createPolygon(shell, holes);

    Polygon[] polygons = new Polygon[] {polygon1, polygon2};

    reference = geomFactory.createMultiPolygon(polygons);
  }