package org.esa.beam.smos.ee2netcdf.geometry;
import com.bc.ceres.binding.ConversionException;
import com.vividsolutions.jts.geom.Geometry;
import org.esa.beam.util.converters.JtsGeometryConverter;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
public class GeometryFilterFactoryTest {
private JtsGeometryConverter jtsGeometryConverter;
@Before
public void setUp() {
jtsGeometryConverter = new JtsGeometryConverter();
}
@Test
public void testCreate_noGeometrySupplied() {
final GeometryFilter filter = GeometryFilterFactory.create(null);
assertTrue(filter instanceof NoConstraintGeometryFilter);
}
@Test
public void testCreate_withPolygon() throws ConversionException {
final Geometry geometry = jtsGeometryConverter.parse("POLYGON((5 1, 5 2, 6 2, 6 1, 5 1))");
final GeometryFilter filter = GeometryFilterFactory.create(geometry);
assertTrue(filter instanceof PolygonGeometryFilter);
}
@Test
public void testCreate_withUnsupportedGeometry() throws ConversionException {
final Geometry geometry = jtsGeometryConverter.parse("POINT(5 1)");
try {
GeometryFilterFactory.create(geometry);
fail("IllegalArgumentException expected");
} catch (IllegalArgumentException expected) {
}
}
}