JacksonGeoJSONWriterTest.java
/*******************************************************************************
* Copyright (c) 2017 Voyager Search
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Apache License, Version 2.0 which
* accompanies this distribution and is available at
* http://www.apache.org/licenses/LICENSE-2.0.txt
******************************************************************************/
package org.locationtech.spatial4j.io.jackson;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.locationtech.spatial4j.context.SpatialContext;
import org.locationtech.spatial4j.io.GeneralGeoJSONTest;
import org.locationtech.spatial4j.io.ShapeIO;
import org.locationtech.spatial4j.shape.Point;
import org.locationtech.spatial4j.shape.Rectangle;
import org.locationtech.spatial4j.shape.Shape;
import org.locationtech.spatial4j.shape.SpatialRelation;
import org.locationtech.spatial4j.shape.jts.JtsGeometry;
/**
* This test compares the jackson JSONWriter to the standard GeoJSON Writer
*/
public class JacksonGeoJSONWriterTest extends GeneralGeoJSONTest {
@Before
@Override
public void setUp() {
super.setUp();
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new ShapesAsGeoJSONModule());
JacksonShapeWriter w = new JacksonShapeWriter(mapper);
reader = ctx.getFormats().getReader(ShapeIO.GeoJSON);
writer = w;
writerForTests = writer;
Assert.assertNotNull(reader);
Assert.assertNotNull(writer);
Assert.assertNotNull(writerForTests);
}
@Test
public void testWriteUnknownAsWKT() throws Exception {
// some anonymous impl that doesn't do anything
Shape shape = new Shape() {
@Override
public SpatialRelation relate(Shape other) {
throw new UnsupportedOperationException("TODO unimplemented");//TODO
}
@Override
public Rectangle getBoundingBox() {
throw new UnsupportedOperationException("TODO unimplemented");//TODO
}
@Override
public boolean hasArea() {
throw new UnsupportedOperationException("TODO unimplemented");//TODO
}
@Override
public double getArea(SpatialContext ctx) {
throw new UnsupportedOperationException("TODO unimplemented");//TODO
}
@Override
public Point getCenter() {
throw new UnsupportedOperationException("TODO unimplemented");//TODO
}
@Override
public Shape getBuffered(double distance, SpatialContext ctx) {
throw new UnsupportedOperationException("TODO unimplemented");//TODO
}
@Override
public boolean isEmpty() {
throw new UnsupportedOperationException("TODO unimplemented");//TODO
}
@Override
public SpatialContext getContext() {
return SpatialContext.GEO;
}
};
String str = writer.toString(shape);
Assert.assertTrue(str.indexOf("wkt")>0);
}
}