Revision f6299e47
Added by Andreas Kohlbecker almost 8 years ago
cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/TransmissionEngineDistributionTest.java | ||
---|---|---|
10 | 10 |
package eu.etaxonomy.cdm.api.service; |
11 | 11 |
|
12 | 12 |
import static org.junit.Assert.assertEquals; |
13 |
import static org.junit.Assert.assertTrue; |
|
13 |
import static org.junit.Assert.assertNotNull; |
|
14 |
import static org.junit.Assert.assertNull; |
|
14 | 15 |
|
15 | 16 |
import java.io.FileNotFoundException; |
16 | 17 |
import java.util.Arrays; |
... | ... | |
28 | 29 |
import eu.etaxonomy.cdm.api.service.description.TransmissionEngineDistribution; |
29 | 30 |
import eu.etaxonomy.cdm.api.service.description.TransmissionEngineDistribution.AggregationMode; |
30 | 31 |
import eu.etaxonomy.cdm.model.common.Extension; |
32 |
import eu.etaxonomy.cdm.model.common.MarkerType; |
|
31 | 33 |
import eu.etaxonomy.cdm.model.description.DescriptionElementBase; |
34 |
import eu.etaxonomy.cdm.model.description.DescriptionElementSource; |
|
32 | 35 |
import eu.etaxonomy.cdm.model.description.Distribution; |
33 | 36 |
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm; |
34 | 37 |
import eu.etaxonomy.cdm.model.description.TaxonDescription; |
... | ... | |
183 | 186 |
}) |
184 | 187 |
public void testArea_area() { |
185 | 188 |
|
189 |
Distribution[] distributions = new Distribution[4]; |
|
190 |
|
|
191 |
Reference book_LCA_yug_mn = ReferenceFactory.newBook(); |
|
192 |
book_LCA_yug_mn.setTitle("LCA_yug_mn"); |
|
193 |
DescriptionElementSource.NewPrimarySourceInstance(book_LCA_yug_mn, "1"); |
|
194 |
distributions[0] = Distribution.NewInstance(yug_mn, PresenceAbsenceTerm.CULTIVATED()); |
|
195 |
|
|
196 |
Reference book_LCA_yug_ko = ReferenceFactory.newBook(); |
|
197 |
book_LCA_yug_mn.setTitle("LCA_yug_ko"); |
|
198 |
DescriptionElementSource.NewPrimarySourceInstance(book_LCA_yug_ko, "2"); |
|
199 |
distributions[1] = Distribution.NewInstance(yug_ko, PresenceAbsenceTerm.NATIVE()); // NATIVE should succeed |
|
200 |
|
|
201 |
Reference book_LCA_yug_bh = ReferenceFactory.newBook(); |
|
202 |
book_LCA_yug_mn.setTitle("LCA_yug_bh"); |
|
203 |
DescriptionElementSource.NewPrimarySourceInstance(book_LCA_yug_bh, "3"); |
|
204 |
distributions[2] = Distribution.NewInstance(yug_bh, PresenceAbsenceTerm.INTRODUCED()); |
|
205 |
|
|
206 |
Reference book_LCA_yug_ma = ReferenceFactory.newBook(); |
|
207 |
book_LCA_yug_mn.setTitle("LCA_yug_ma"); |
|
208 |
DescriptionElementSource.NewPrimarySourceInstance(book_LCA_yug_ma, "4"); |
|
209 |
distributions[3] = Distribution.NewInstance(yug_ma, PresenceAbsenceTerm.NATIVE()); // NATIVE should succeed |
|
210 |
|
|
186 | 211 |
addDistributions( |
187 | 212 |
T_LAPSANA_COMMUNIS_ALPINA_UUID, |
188 |
new Distribution[] { |
|
189 |
Distribution.NewInstance(yug_mn, PresenceAbsenceTerm.CULTIVATED()), |
|
190 |
Distribution.NewInstance(yug_ko, PresenceAbsenceTerm.NATIVE()), // should succeed |
|
191 |
Distribution.NewInstance(yug_bh, PresenceAbsenceTerm.INTRODUCED()) |
|
192 |
} |
|
213 |
distributions |
|
193 | 214 |
); |
194 | 215 |
|
195 | 216 |
Taxon lapsana_communis_alpina = (Taxon) taxonService.load(T_LAPSANA_COMMUNIS_ALPINA_UUID); |
... | ... | |
200 | 221 |
lapsana_communis_alpina = (Taxon) taxonService.load(T_LAPSANA_COMMUNIS_ALPINA_UUID); |
201 | 222 |
assertEquals(2, lapsana_communis_alpina.getDescriptions().size()); |
202 | 223 |
|
203 |
boolean expectedAreaFound = false;
|
|
224 |
Distribution accumulatedDistribution = null;
|
|
204 | 225 |
for (TaxonDescription description : lapsana_communis_alpina.getDescriptions()) { |
205 |
Distribution distribution = (Distribution) description.getElements().iterator().next(); // only one aggregated area expected |
|
206 |
if(distribution.getArea().equals(yug)) { |
|
207 |
expectedAreaFound = true; |
|
208 |
assertEquals("aggregated status of area YUG is wrong", PresenceAbsenceTerm.NATIVE().getLabel(), distribution.getStatus().getLabel()); |
|
226 |
if(description.hasMarker(MarkerType.COMPUTED(), true)) { |
|
227 |
assertNull("only one computed Distribution should exists", accumulatedDistribution); |
|
228 |
assertEquals("the computed Decription should have only one element", 1, description.getElements().size()); |
|
229 |
accumulatedDistribution = (Distribution) description.getElements().iterator().next(); |
|
230 |
assertEquals("Expecting area to be YUG", yug, accumulatedDistribution.getArea()); |
|
231 |
assertEquals("Expecting status to be NATIVE", PresenceAbsenceTerm.NATIVE().getLabel(), accumulatedDistribution.getStatus().getLabel()); |
|
209 | 232 |
} |
210 | 233 |
} |
211 |
assertTrue("The areae YUG should have been found", expectedAreaFound); |
|
234 |
assertNotNull("The area YUG should have been found", accumulatedDistribution); |
|
235 |
// assertEquals("Expecting two source references", accumulatedDistribution.getSources().size()); |
|
236 |
// assertTrue(accumulatedDistribution.getSources().contains(book_LCA_yug_ko)); |
|
237 |
// assertTrue(accumulatedDistribution.getSources().contains(book_LCA_yug_ma)); |
|
212 | 238 |
} |
213 | 239 |
|
214 | 240 |
@Test |
Also available in: Unified diff
#4366 test for aggregation of distribution sources (byArea)