package uk.ac.ox.zoo.seeg.abraid.mp.common.dto.json; import org.junit.Test; import uk.ac.ox.zoo.seeg.abraid.mp.common.domain.AdminUnitDiseaseExtentClass; import uk.ac.ox.zoo.seeg.abraid.mp.common.domain.AdminUnitReview; import uk.ac.ox.zoo.seeg.abraid.mp.common.dto.json.geojson.GeoJsonObjectType; import uk.ac.ox.zoo.seeg.abraid.mp.testutils.AbstractDiseaseExtentGeoJsonTests; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; /** * Tests the GeoJsonDiseaseExtentFeatureCollection class. * Copyright (c) 2014 University of Oxford */ public class GeoJsonDiseaseExtentFeatureCollectionTest extends AbstractDiseaseExtentGeoJsonTests { @Test public void constructorForGeoJsonDiseaseExtentFeatureCollectionExtractsFeaturesCorrectly() { // Arrange List<AdminUnitReview> reviews = new ArrayList<>(); List<AdminUnitDiseaseExtentClass> diseaseExtent = Arrays.asList(defaultAdminUnitDiseaseExtentClassWithoutReview(), defaultAdminUnitDiseaseExtentClassWithoutReview()); // Act GeoJsonDiseaseExtentFeatureCollection result = new GeoJsonDiseaseExtentFeatureCollection(diseaseExtent, reviews); // Assert assertThat(result.getType()).isEqualTo(GeoJsonObjectType.FEATURE_COLLECTION); assertThat(result.getCrs().getType()).isEqualTo("name"); assertThat(result.getCrs().getProperties().getName()).isEqualTo("urn:ogc:def:crs:EPSG::4326"); assertThat(result.getFeatures()).hasSameSizeAs(diseaseExtent); assertThat(result.getFeatures().get(0)).isInstanceOf(GeoJsonDiseaseExtentFeature.class); } }