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.CovariateFile; import uk.ac.ox.zoo.seeg.abraid.mp.common.domain.CovariateInfluence; import uk.ac.ox.zoo.seeg.abraid.mp.common.domain.CovariateSubFile; import java.util.Arrays; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; /** * Tests for JsonCovariateInfluence. * Copyright (c) 2014 University of Oxford */ public class JsonCovariateInfluenceTest { @Test public void constructorBindsFieldsCorrectly() { // Arrange String name = "dir/upr_p.tif"; String displayName = "GRUMP peri-urban surface"; String info = "some info"; double meanInfluence = 45.94; boolean discrete = true; CovariateInfluence covariateInfluence = mock(CovariateInfluence.class); CovariateFile covariateFile = mock(CovariateFile.class); CovariateSubFile subObj = mock(CovariateSubFile.class); when(subObj.getFile()).thenReturn(name); when(covariateFile.getFiles()).thenReturn(Arrays.asList(subObj)); when(covariateFile.getName()).thenReturn(displayName); when(covariateFile.getInfo()).thenReturn(info); when(covariateFile.getDiscrete()).thenReturn(discrete); when(covariateInfluence.getMeanInfluence()).thenReturn(meanInfluence); when(covariateInfluence.getCovariateFile()).thenReturn(covariateFile); List<JsonEffectCurveCovariateInfluence> effectCurve = Arrays.asList( mock(JsonEffectCurveCovariateInfluence.class), mock(JsonEffectCurveCovariateInfluence.class)); List<JsonCovariateValueBin> histogram = Arrays.asList( mock(JsonCovariateValueBin.class), mock(JsonCovariateValueBin.class)); // Act JsonCovariateInfluence result = new JsonCovariateInfluence(covariateInfluence, histogram, effectCurve); // Assert assertThat(result.getName()).isEqualTo(displayName); assertThat(result.getInfo()).isEqualTo(info); assertThat(result.getMeanInfluence()).isEqualTo(meanInfluence); assertThat(result.getEffectCurve()).isEqualTo(effectCurve); assertThat(result.getValuesHistogram()).isEqualTo(histogram); assertThat(result.getDiscrete()).isEqualTo(discrete); } }