From 83cd7deee1e483ec21dbe223282260ef9eacefee Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andreas=20M=C3=BCller?= Date: Sat, 28 Mar 2015 10:46:38 +0000 Subject: [PATCH] Fixing failing search test, using better utf8 handling --- .gitattributes | 1 + .../api/service/TaxonServiceSearchTest.java | 21 +++++++++---------- .../TaxonServiceSearchTestUtf8Constants.java | 7 +++++++ 3 files changed, 18 insertions(+), 11 deletions(-) create mode 100644 cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/TaxonServiceSearchTestUtf8Constants.java diff --git a/.gitattributes b/.gitattributes index 441c43cb9d..12ab3b9dc3 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2438,6 +2438,7 @@ cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/TaxonNodeServiceImplT cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/TaxonServiceImplBusinessTest.java -text cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/TaxonServiceImplTest.java -text cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/TaxonServiceSearchTest.java -text +cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/TaxonServiceSearchTestUtf8Constants.java -text cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/TermServiceImplTest.java -text cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/TransmissionEngineDistributionTest.java -text cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/UserAndGroupServiceImplTest.java -text diff --git a/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/TaxonServiceSearchTest.java b/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/TaxonServiceSearchTest.java index 157f5df5e8..0c1183f616 100644 --- a/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/TaxonServiceSearchTest.java +++ b/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/TaxonServiceSearchTest.java @@ -83,7 +83,6 @@ import eu.etaxonomy.cdm.persistence.query.OrderHint; import eu.etaxonomy.cdm.test.integration.CdmTransactionalIntegrationTest; import eu.etaxonomy.cdm.test.unitils.CleanSweepInsertLoadStrategy; - /** * @author a.babadshanjan, a.kohlbecker * @created 04.02.2009 @@ -650,7 +649,7 @@ public class TaxonServiceSearchTest extends CdmTransactionalIntegrationTest { DescriptionElementBase textData = descriptionService.getDescriptionElementByUuid(UUID.fromString(descriptionElementUuidStr[0])); ((TextData)textData).removeText(Language.GERMAN()); - ((TextData)textData).putText(Language.SPANISH_CASTILIAN(), "abeto balsámico"); + ((TextData)textData).putText(Language.SPANISH_CASTILIAN(), "abeto bals"+UTF8.SMALL_A_ACUTE+"mico"); descriptionService.saveDescriptionElement(textData); commitAndStartNewTransaction(null); @@ -662,9 +661,9 @@ public class TaxonServiceSearchTest extends CdmTransactionalIntegrationTest { pager = taxonService.findByDescriptionElementFullText(TextData.class, "Balsam-Tanne", null, null, Arrays.asList(new Language[]{Language.GERMAN(), Language.RUSSIAN()}), false, null, null, null, null); Assert.assertEquals("The german 'Balsam-Tanne' TextData should no longer be indexed", Integer.valueOf(0), pager.getCount()); pager = taxonService.findByDescriptionElementFullText(TextData.class, "abeto", null, null, Arrays.asList(new Language[]{Language.SPANISH_CASTILIAN()}), false, null, null, null, null); - Assert.assertEquals("expecting to find the SPANISH_CASTILIAN 'abeto balsámico'", Integer.valueOf(1), pager.getCount()); - pager = taxonService.findByDescriptionElementFullText(TextData.class, "balsámico", null, null, null, false, null, null, null, null); - Assert.assertEquals("expecting to find the SPANISH_CASTILIAN 'abeto balsámico'", Integer.valueOf(1), pager.getCount()); + Assert.assertEquals("expecting to find the SPANISH_CASTILIAN 'abeto bals"+UTF8.SMALL_A_ACUTE+"mico'", Integer.valueOf(1), pager.getCount()); + pager = taxonService.findByDescriptionElementFullText(TextData.class, "bals"+UTF8.SMALL_A_ACUTE+"mico", null, null, null, false, null, null, null, null); + Assert.assertEquals("expecting to find the SPANISH_CASTILIAN 'abeto bals"+UTF8.SMALL_A_ACUTE+"mico'", Integer.valueOf(1), pager.getCount()); // // modify the DescriptionElement via the Description object @@ -673,15 +672,15 @@ public class TaxonServiceSearchTest extends CdmTransactionalIntegrationTest { for( DescriptionElementBase elm : elements){ if(elm.getUuid().toString().equals(descriptionElementUuidStr[0])){ ((TextData)elm).removeText(Language.SPANISH_CASTILIAN()); - ((TextData)elm).putText(Language.POLISH(), "Jodła balsamiczna"); + ((TextData)elm).putText(Language.POLISH(), "Jod"+UTF8.POLISH_L+"a balsamiczna"); } } descriptionService.saveOrUpdate(description); commitAndStartNewTransaction(null); pager = taxonService.findByDescriptionElementFullText(TextData.class, "abeto", null, null, Arrays.asList(new Language[]{Language.SPANISH_CASTILIAN()}), false, null, null, null, null); - Assert.assertEquals("The spanish 'abeto balsámico' TextData should no longer be indexed", Integer.valueOf(0), pager.getCount()); + Assert.assertEquals("The spanish 'abeto bals"+UTF8.SMALL_A_ACUTE+"mico' TextData should no longer be indexed", Integer.valueOf(0), pager.getCount()); pager = taxonService.findByDescriptionElementFullText(TextData.class, "balsamiczna", null, null, Arrays.asList(new Language[]{Language.POLISH()}), false, null, null, null, null); - Assert.assertEquals("expecting to find the POLISH 'JodÅ‚a balsamiczna'", Integer.valueOf(1), pager.getCount()); + Assert.assertEquals("expecting to find the POLISH 'Jod"+UTF8.POLISH_L+"a balsamiczna'", Integer.valueOf(1), pager.getCount()); } @SuppressWarnings("rawtypes") @@ -1192,7 +1191,7 @@ public class TaxonServiceSearchTest extends CdmTransactionalIntegrationTest { // createRandomTaxonWithCommonName(NUM_OF_NEW_RADOM_ENTITIES); // // IFindTaxaAndNamesConfigurator configurator = new FindTaxaAndNamesConfiguratorImpl(); -// configurator.setTitleSearchString("Weiß%"); +// configurator.setTitleSearchString("Wei"+UTF8.SHARP_S+"%"); // configurator.setMatchMode(MatchMode.BEGINNING); // configurator.setDoTaxa(false); // configurator.setDoSynonyms(false); @@ -1387,12 +1386,12 @@ public class TaxonServiceSearchTest extends CdmTransactionalIntegrationTest { d_abies_balsamea .addElement(TextData .NewInstance( - "Бальзам ньыв (лат. Abies balsamea) – быдмассэзлӧн пожум котырись ньыв увтырын торья вид. Ньывпуыс быдмӧ 14–20 метра вылына да овлӧ 10–60 см кыза диаметрын. Ньывпу пантасьӧ Ойвыв Америкаын.", + TaxonServiceSearchTestUtf8Constants.RUSSIAN_ABIES_ALBA_LONG, Language.RUSSIAN(), null)); d_abies_balsamea .addElement(CommonTaxonName .NewInstance( - "Бальзам ньыв", + TaxonServiceSearchTestUtf8Constants.RUSSIAN_ABIES_ALBA_SHORT, Language.RUSSIAN(), null)); descriptionService.saveOrUpdate(d_abies_balsamea); diff --git a/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/TaxonServiceSearchTestUtf8Constants.java b/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/TaxonServiceSearchTestUtf8Constants.java new file mode 100644 index 0000000000..44732179dd --- /dev/null +++ b/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/TaxonServiceSearchTestUtf8Constants.java @@ -0,0 +1,7 @@ +package eu.etaxonomy.cdm.api.service; + +final class TaxonServiceSearchTestUtf8Constants { + + public static final String RUSSIAN_ABIES_ALBA_LONG = "Бальзам ньыв (лат. Abies balsamea) – быдмассэзлӧн пожум котырись ньыв увтырын торья вид. Ньывпуыс быдмӧ 14–20 метра вылына да овлӧ 10–60 см кыза диаметрын. Ньывпу пантасьӧ Ойвыв Америкаын."; + protected static final String RUSSIAN_ABIES_ALBA_SHORT = "Бальзам ньыв"; +} -- 2.34.1