def test_can_redefine_accepted(self): # Altamiranoa Rose used to refer to Villadia Rose for its accepted # name, it is now updated to Sedum L. ## T_0 claceae = Family(family=u"Crassulaceae") # J. St.-Hil. villa = Genus(family=claceae, genus=u"Villadia", author=u"Rose") alta = Genus(family=claceae, genus=u"Altamiranoa", author=u"Rose") alta.accepted = villa self.session.add_all([claceae, alta, villa]) self.session.commit() sedum = Genus(family=claceae, genus=u"Sedum", author=u"L.") alta.accepted = sedum self.session.commit()
def test_define_accepted(self): # notice that same test should be also in Species and Family bu = self.session.query(Genus).filter(Genus.genus == u"Bulbophyllum").one() f = self.session.query(Family).filter(Family.family == u"Orchidaceae").one() he = Genus(family=f, genus=u"Henosis") # one more synonym self.session.add(he) self.session.commit() self.assertEquals(len(bu.synonyms), 1) self.assertFalse(he in bu.synonyms) he.accepted = bu self.assertEquals(len(bu.synonyms), 2) self.assertTrue(he in bu.synonyms)
def test_search_by_query_synonyms(self): """SynonymSearch strategy gives all synonyms of given taxon.""" Family = self.Family Genus = self.Genus family2 = Family(family=u'family2') g2 = Genus(family=family2, genus=u'genus2') f3 = Family(family=u'fam3', qualifier=u's. lat.') g3 = Genus(family=f3, genus=u'Ixora') g4 = Genus(family=f3, genus=u'Schetti') self.session.add_all([family2, g2, f3, g3, g4]) g4.accepted = g3 self.session.commit() mapper_search = search.get_strategy('SynonymSearch') s = 'Schetti' results = mapper_search.search(s, self.session) self.assertEqual(results, [g3])
def test_search_by_query_synonyms_disabled(self): """SynonymSearch strategy gives all synonyms of given taxon.""" Family = self.Family Genus = self.Genus family2 = Family(epithet=u'family2') g2 = Genus(family=family2, epithet=u'genus2') f3 = Family(epithet=u'fam3', aggregate=u'agg.') g3 = Genus(family=f3, epithet=u'Ixora') g4 = Genus(family=f3, epithet=u'Schetti') self.session.add_all([family2, g2, f3, g3, g4]) g4.accepted = g3 self.session.commit() prefs.prefs['bauble.search.return_synonyms'] = False mapper_search = search.get_strategy('SynonymSearch') s = 'Schetti' results = mapper_search.search(s, self.session) self.assertEqual(results, [])