+ @Test\r
+ public final void testGetHomotypicSynonymsByHomotypicGroup(){\r
+ Rank rank = Rank.SPECIES();\r
+ Reference<?> ref1 = ReferenceFactory.newGeneric();\r
+ //HomotypicalGroup group = HomotypicalGroup.NewInstance();\r
+ Taxon taxon1 = Taxon.NewInstance(BotanicalName.NewInstance(rank, "Test3", null, null, null, null, null, null, null), null);\r
+ Synonym synonym0 = Synonym.NewInstance(BotanicalName.NewInstance(rank, "Test2", null, null, null, null, null, null, null), null);\r
+ Synonym synonym1 = Synonym.NewInstance(BotanicalName.NewInstance(rank, "Test2", null, null, null, null, null, null, null), null);\r
+ Synonym synonym2 = Synonym.NewInstance(BotanicalName.NewInstance(rank, "Test4", null, null, null, null, null, null, null), null);\r
+ synonym0.getName().setHomotypicalGroup(taxon1.getHomotypicGroup());\r
+ synonym2.getName().setHomotypicalGroup(synonym1.getHomotypicGroup());\r
+ //tax2.addHeterotypicSynonymName(synonym.getName());\r
+ taxon1.addSynonym(synonym0, SynonymRelationshipType.HOMOTYPIC_SYNONYM_OF());\r
+ taxon1.addSynonym(synonym1, SynonymRelationshipType.HETEROTYPIC_SYNONYM_OF());\r
+ taxon1.addSynonym(synonym2, SynonymRelationshipType.HETEROTYPIC_SYNONYM_OF());\r
+ \r
+ service.save(synonym1);\r
+ service.save(synonym2);\r
+ service.save(taxon1);\r
+ \r
+ List<Synonym> homoSyns = service.getHomotypicSynonymsByHomotypicGroup(taxon1, null);\r
+ Assert.assertEquals("There should be 1 heterotypic group", 1, homoSyns.size());\r
+ Assert.assertSame("The homotypic synonym should be synonym0", synonym0, homoSyns.get(0));\r
+ \r
+ //test sec\r
+ synonym0.setSec(ref1); \r
+ homoSyns = service.getHomotypicSynonymsByHomotypicGroup(taxon1, null);\r
+ Assert.assertEquals("getHeterotypicSynonymyGroups should be independent of sec reference", 1, homoSyns.size());\r
+ \r
+ }\r
+ \r
+ \r