From 41bd1e5795e97230229fd5fccccb82304febe1e5 Mon Sep 17 00:00:00 2001 From: Andreas Kohlbecker Date: Thu, 14 Dec 2017 16:26:12 +0100 Subject: [PATCH] ref #7114 implementing test to reproduce the issue --- .../DerivedUnitConverterIntegrationTest.java | 77 +++++++++++++++++++ .../api/utility/DerivedUnitConverterTest.java | 2 + 2 files changed, 79 insertions(+) create mode 100644 cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/utility/DerivedUnitConverterIntegrationTest.java diff --git a/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/utility/DerivedUnitConverterIntegrationTest.java b/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/utility/DerivedUnitConverterIntegrationTest.java new file mode 100644 index 0000000000..e3d66e070d --- /dev/null +++ b/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/utility/DerivedUnitConverterIntegrationTest.java @@ -0,0 +1,77 @@ +/** +* Copyright (C) 2017 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.cdm.api.utility; + +import static org.junit.Assert.assertEquals; + +import java.io.FileNotFoundException; + +import org.junit.Test; +import org.unitils.spring.annotation.SpringBeanByType; + +import eu.etaxonomy.cdm.api.service.IOccurrenceService; +import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; +import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType; +import eu.etaxonomy.cdm.test.integration.CdmTransactionalIntegrationTest; + +/** + * + * @author a.kohlbecker + * @since Jun 23, 2017 + * + */ +public class DerivedUnitConverterIntegrationTest extends CdmTransactionalIntegrationTest { + + @SpringBeanByType + private IOccurrenceService service; + + @Test + public void toMediaSpecimen_issue7114() throws DerivedUnitConversionException { + + assertEquals(0, service.list(null, null, null, null, null).size()); + + DerivedUnit du = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen); + du.setTitleCache("test derived unit", true); + du = (DerivedUnit) service.save(du); // intermediate save is essential for this test + DerivedUnitConverter duc = new DerivedUnitConverter(du); + MediaSpecimen target = duc.convertTo(MediaSpecimen.class, SpecimenOrObservationType.StillImage); + service.save(target); + + assertEquals(1, service.list(null, null, null, null, null).size()); + assertEquals(1, service.list(MediaSpecimen.class, null, null, null, null).size()); + } + + @Test + public void toDerivedUnit_issue7114() throws DerivedUnitConversionException { + + assertEquals(0, service.list(null, null, null, null, null).size()); + + MediaSpecimen du = MediaSpecimen.NewInstance(SpecimenOrObservationType.StillImage); + du.setTitleCache("test media specimen", true); + DerivedUnitConverter duc = new DerivedUnitConverter(du); + du = (MediaSpecimen) service.save(du); // intermediate save is essential for this test + DerivedUnit target = duc.convertTo(DerivedUnit.class, SpecimenOrObservationType.PreservedSpecimen); + service.save(target); + + assertEquals(1, service.list(null, null, null, null, null).size()); + assertEquals(1, service.list(DerivedUnit.class, null, null, null, null).size()); + + } + + /** + * {@inheritDoc} + */ + @Override + public void createTestDataSet() throws FileNotFoundException { + // using empty database + + } + +} diff --git a/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/utility/DerivedUnitConverterTest.java b/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/utility/DerivedUnitConverterTest.java index 43b989075a..ef06a1f7c6 100644 --- a/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/utility/DerivedUnitConverterTest.java +++ b/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/utility/DerivedUnitConverterTest.java @@ -34,7 +34,9 @@ public class DerivedUnitConverterTest extends Assert { assertEquals("test derived unit", target.getTitleCache()); } + @Test public void toDerivedUnit() throws DerivedUnitConversionException { + MediaSpecimen du = MediaSpecimen.NewInstance(SpecimenOrObservationType.StillImage); du.setTitleCache("test media specimen", true); DerivedUnitConverter duc = new DerivedUnitConverter(du); -- 2.34.1