package uk.ac.ox.zoo.seeg.abraid.mp.common.dto.json.geojson;
import org.junit.Test;
import java.util.Arrays;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
/**
* Tests for GeoJsonFeature.
* Copyright (c) 2014 University of Oxford
*/
public class GeoJsonFeatureTest {
@Test
public void constructorForGeoJsonFeatureBindsParametersCorrectly() throws Exception {
// Arrange
Integer expectedId = 1;
GeoJsonGeometry expectedGeometry = mock(GeoJsonGeometry.class);
Object expectedProperties = mock(Object.class);
GeoJsonCrs expectedCrs = mock(GeoJsonCrs.class);
List<Double> expectedBBox = Arrays.asList(1.0, 2.0, 3.0, 4.0);
// Act
GeoJsonFeature target = new GeoJsonFeature(expectedId, expectedGeometry, expectedProperties, expectedCrs, expectedBBox) {
// Create anonymous subclass of abstract class to act as testing proxy
};
// Assert
assertThat(target.getId()).isSameAs(expectedId);
assertThat(target.getGeometry()).isSameAs(expectedGeometry);
assertThat(target.getProperties()).isSameAs(expectedProperties);
assertThat(target.getCrs()).isSameAs(expectedCrs);
assertThat(target.getBBox()).isEqualTo(expectedBBox);
assertThat(target.getType()).isSameAs(GeoJsonObjectType.FEATURE);
}
@Test
public void constructorForGeoJsonFeatureAcceptsNullOptionalParameters() throws Exception {
// Act
GeoJsonFeature target = new GeoJsonFeature(null, mock(GeoJsonGeometry.class), mock(Object.class), null, null) {
// Create anonymous subclass of abstract class to act as testing proxy
};
// Assert
assertThat(target.getId()).isNull();
assertThat(target.getCrs()).isNull();
assertThat(target.getBBox()).isNull();
}
}