@Test
public void testWriteFeatureAsGeometryCollection() throws
                                                   Exception {

    // given a Feature as GeometryCollection
    final Feature feature = mock(Feature.class);
    doReturn("id1").when(feature)
                   .getId();
    doReturn("Feature").when(feature)
                       .getType();
    doReturn(createGeometryCollection(gf,
                                      createPoint(gf,
                                                  47.2256258d,
                                                  -1.5545135d),
                                      createMultiPoint(gf,
                                                       createPoint(gf,
                                                                   47.2256258d,
                                                                   -1.5545135d),
                                                       createPoint(gf,
                                                                   47.225136d,
                                                                   -1.553913d)),
                                      createLineString(gf,
                                                       createCoordinate(gf,
                                                                        47.2256258d,
                                                                        -1.5545135d),
                                                       createCoordinate(gf,
                                                                        47.225136d,
                                                                        -1.553913d)),
                                      createMultiLineString(gf,
                                                            createLineString(gf,
                                                                             createCoordinate(gf,
                                                                                              47.2256258d,
                                                                                              -1.5545135d),
                                                                             createCoordinate(gf,
                                                                                              47.225136d,
                                                                                              -1.553913d))),
                                      createPolygon(gf,
                                                    createCoordinate(gf,
                                                                     47.226219d,
                                                                     -1.554430d),
                                                    createCoordinate(gf,
                                                                     47.226237d,
                                                                     -1.554261d),
                                                    createCoordinate(gf,
                                                                     47.226122d,
                                                                     -1.554245d),
                                                    createCoordinate(gf,
                                                                     47.226106d,
                                                                     -1.554411d),
                                                    createCoordinate(gf,
                                                                     47.226219d,
                                                                     -1.554430d)))).when(feature)
                                                                                   .getGeometry();
    doReturn(new Bundle()).when(feature)
                          .getProperties();
    // when write this Feature as JSON string
    final StringWriter writer = new StringWriter();
    geoJsonWriter.write(writer,
                        feature);
    // then
    assertNotNull(writer.toString());
    assertEquals(TestHelper.getFixture("feature_geometrycollection.json"),
                 writer.toString());
}