fix Specimen import test
[cdmlib.git] / cdmlib-io / src / test / java / eu / etaxonomy / cdm / io / specimen / abcd206 / in / SpecimenImportConfiguratorTest.java
index 14c73a954372604749719d0a4ba95e7d8f9fea71..20b34a04be034e48efbe2ebad1ef64537cc6493f 100644 (file)
@@ -1,8 +1,8 @@
 /**\r
 * Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
+* European Distributed Institute of Taxonomy\r
 * http://www.e-taxonomy.eu\r
-* \r
+*\r
 * The contents of this file are subject to the Mozilla Public License Version 1.1\r
 * See LICENSE.TXT at the top of this package for the full license terms.\r
 */\r
@@ -18,70 +18,130 @@ import java.net.URL;
 \r
 import org.junit.Assert;\r
 import org.junit.Before;\r
+import org.junit.Ignore;\r
 import org.junit.Test;\r
 import org.unitils.dbunit.annotation.DataSet;\r
 import org.unitils.spring.annotation.SpringBeanByName;\r
 import org.unitils.spring.annotation.SpringBeanByType;\r
 \r
+import eu.etaxonomy.cdm.api.service.ICommonService;\r
 import eu.etaxonomy.cdm.api.service.INameService;\r
 import eu.etaxonomy.cdm.api.service.IOccurrenceService;\r
+import eu.etaxonomy.cdm.api.service.IReferenceService;\r
+import eu.etaxonomy.cdm.api.service.ITaxonNodeService;\r
+import eu.etaxonomy.cdm.api.service.ITermService;\r
 import eu.etaxonomy.cdm.io.common.CdmApplicationAwareDefaultImport;\r
 import eu.etaxonomy.cdm.io.common.IImportConfigurator;\r
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
-import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;\r
+import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;\r
+import eu.etaxonomy.cdm.model.occurrence.FieldUnit;\r
+import eu.etaxonomy.cdm.model.reference.Reference;\r
+import eu.etaxonomy.cdm.model.taxon.TaxonNode;\r
 import eu.etaxonomy.cdm.test.integration.CdmTransactionalIntegrationTest;\r
 import eu.etaxonomy.cdm.test.unitils.CleanSweepInsertLoadStrategy;\r
 \r
 /**\r
  * @author a.mueller\r
  * @created 29.01.2009\r
- * @version 1.0\r
  */\r
 public class SpecimenImportConfiguratorTest extends CdmTransactionalIntegrationTest {\r
-       \r
+\r
        @SpringBeanByName\r
        CdmApplicationAwareDefaultImport<?> defaultImport;\r
-       \r
+\r
        @SpringBeanByType\r
        INameService nameService;\r
 \r
        @SpringBeanByType\r
        IOccurrenceService occurrenceService;\r
 \r
+       @SpringBeanByType\r
+       ITermService termService;\r
+\r
+       @SpringBeanByType\r
+    ICommonService commonService;\r
+\r
+       @SpringBeanByType\r
+       ITaxonNodeService taxonNodeService;\r
        \r
+       @SpringBeanByType\r
+       private IReferenceService referenceService;\r
+\r
+\r
+\r
        private IImportConfigurator configurator;\r
-       \r
+       private IImportConfigurator configurator2;\r
+\r
        @Before\r
        public void setUp() {\r
-               String inputFile = "/eu/etaxonomy/cdm/io/specimen/abcd206/in/SpecimenImportConfiguratorTest-input.xml";\r
-               URL url = this.getClass().getResource(inputFile);\r
-               assertNotNull("URL for the test file '" + inputFile + "' does not exist", url);\r
+               String inputFile = "/eu/etaxonomy/cdm/io/specimen/abcd206/in/ABCDImportTestCalvumPart1.xml";\r
+        URL url = this.getClass().getResource(inputFile);\r
+        assertNotNull("URL for the test file '" + inputFile + "' does not exist", url);\r
+        try {\r
+            configurator = Abcd206ImportConfigurator.NewInstance(url.toURI(), null,false);\r
+        } catch (URISyntaxException e) {\r
+            e.printStackTrace();\r
+            Assert.fail();\r
+        }\r
+        assertNotNull("Configurator2 could not be created", configurator);\r
+        \r
+        //test2\r
+        String inputFile2 = "/eu/etaxonomy/cdm/io/specimen/abcd206/in/Campanula_ABCD_import_3_taxa_11_units.xml";\r
+               URL url2 = this.getClass().getResource(inputFile2);\r
+               assertNotNull("URL for the test file '" + inputFile2 + "' does not exist", url2);\r
                try {\r
-                       configurator = Abcd206ImportConfigurator.NewInstance(url.toURI(), null);\r
+                       configurator2 = Abcd206ImportConfigurator.NewInstance(url2.toURI(), null,false);\r
                } catch (URISyntaxException e) {\r
                        e.printStackTrace();\r
                        Assert.fail();\r
                }\r
-               assertNotNull("Configurator could not be created", configurator);\r
+               assertNotNull("Configurator could not be created", configurator2);\r
        }\r
-       \r
+\r
        @Test\r
        public void testInit() {\r
+           System.out.println("TEST INIT");\r
                assertNotNull("import instance should not be null", defaultImport);\r
                assertNotNull("nameService should not be null", nameService);\r
                assertNotNull("occurence service should not be null", occurrenceService);\r
+               assertNotNull("term service should not be null", termService);\r
+               assertNotNull("common service should not be null", commonService);\r
        }\r
+\r
+       @Test\r
+    @DataSet( value="../../../BlankDataSet.xml", loadStrategy=CleanSweepInsertLoadStrategy.class)\r
+    public void testDoInvoke() {\r
+        boolean result = defaultImport.invoke(configurator);\r
+        assertTrue("Return value for import.invoke should be true", result);\r
+        assertEquals("Number of TaxonNames is incorrect", 2, nameService.count(TaxonNameBase.class));\r
+        /*\r
+         * Classification\r
+         * - Cichorium\r
+         *   - Cichorium calvum\r
+         */\r
+        assertEquals("Number of TaxonNodes is incorrect", 3, taxonNodeService.count(TaxonNode.class));\r
+        assertEquals("Number of specimen and observation is incorrect", 10, occurrenceService.count(DerivedUnit.class));\r
+    }\r
        \r
+\r
        @Test\r
-       @DataSet( loadStrategy=CleanSweepInsertLoadStrategy.class) //value="../../../BlankDataSet.xml")\r
-       public void testDoInvoke() {\r
-               boolean result = defaultImport.invoke(configurator);\r
+       @DataSet(value="SpecimenImportConfiguratorTest.doInvoke2.xml",  loadStrategy=CleanSweepInsertLoadStrategy.class)\r
+       public void testDoInvoke2() {\r
+               boolean result = defaultImport.invoke(configurator2);\r
                assertTrue("Return value for import.invoke should be true", result);\r
-               \r
-               assertEquals("Number of TaxonNames is incorrect", 11, nameService.count(TaxonNameBase.class));\r
-               assertEquals("Number of specimen is incorrect", 10, occurrenceService.count(DerivedUnitBase.class));\r
-\r
-               \r
+               assertEquals("Number of TaxonNames is incorrect", 4, nameService.count(TaxonNameBase.class));\r
+               /*\r
+                * 5 taxon nodes:\r
+                *\r
+         * Classification\r
+         * - Campanula\r
+         *   - Campanula patula\r
+         *   - Campanula tridentata\r
+         *   - Campanula lactiflora\r
+         */\r
+        assertEquals("Number of TaxonNodes is incorrect", 5, taxonNodeService.count(TaxonNode.class));\r
+               assertEquals("Number of derived units is incorrect", 11, occurrenceService.count(DerivedUnit.class));\r
+               assertEquals("Number of field units is incorrect", 11, occurrenceService.count(FieldUnit.class));\r
+               assertEquals("Number of field units is incorrect", 1, referenceService.count(Reference.class));\r
        }\r
-\r
 }\r