def test_can_grab_existing_genera(self): orc = Family.retrieve_or_create(self.session, {"rank": "family", "epithet": "Orchidaceae"}) all_genera_orc = self.session.query(Genus).filter(Genus.family == orc).all() mxl = Genus.retrieve_or_create( self.session, {"ht-rank": "family", "ht-epithet": "Orchidaceae", "rank": "genus", "epithet": "Maxillaria"} ) enc = Genus.retrieve_or_create( self.session, {"ht-rank": "family", "ht-epithet": "Orchidaceae", "rank": "genus", "epithet": "Encyclia"} ) self.assertTrue(mxl in set(all_genera_orc)) self.assertTrue(enc in set(all_genera_orc))
def test_genus_nocreate_noupdateeq_existing(self): ## retrieve same object, we only give the keys obj = Genus.retrieve_or_create( self.session, {"object": "taxon", "rank": "genus", "epithet": "Maxillaria"}, create=False, update=False ) self.assertTrue(obj is not None) self.assertEquals(obj.author, "")
def test_genus_nocreate_updatediff_existing(self): ## update object in self.session obj = Genus.retrieve_or_create( self.session, {"object": "taxon", "rank": "genus", "epithet": "Maxillaria", "author": "Schltr."}, create=False, update=True, ) self.assertTrue(obj is not None) self.assertEquals(obj.author, "Schltr.")
def test(self): obj = Genus.retrieve_or_create( self.session, {"object": "taxon", "rank": "genus", "epithet": u"Maxillaria"}, create=False, update=False ) self.assertEquals(obj.cites, u"II") obj = Genus.retrieve_or_create( self.session, {"object": "taxon", "rank": "genus", "epithet": u"Laelia"}, create=False, update=False ) self.assertEquals(obj.cites, u"II") obj = Species.retrieve_or_create( self.session, { "object": "taxon", "ht-rank": "genus", "ht-epithet": u"Paphiopedilum", "rank": "species", "epithet": u"adductum", }, create=False, update=False, ) self.assertEquals(obj.cites, u"I") obj = Species.retrieve_or_create( self.session, {"object": "taxon", "ht-rank": "genus", "ht-epithet": u"Laelia", "rank": "species", "epithet": u"lobata"}, create=False, update=False, ) self.assertEquals(obj.cites, u"I") obj = Species.retrieve_or_create( self.session, { "object": "taxon", "ht-rank": "genus", "ht-epithet": u"Laelia", "rank": "species", "epithet": u"grandiflora", }, create=False, update=False, ) self.assertEquals(obj.cites, u"II")
def test_genus_nocreate_noupdate_noexisting_possible(self): # do not create if not existing obj = Genus.retrieve_or_create( self.session, { "object": "taxon", "rank": "genus", "epithet": "Masdevallia", "ht-rank": "familia", "ht-epithet": "Orchidaceae", }, create=False, ) self.assertEquals(obj, None)
def test_genus_create_noupdate_noexisting_impossible(self): # do not create if not existing obj = Genus.retrieve_or_create( self.session, {"object": "taxon", "rank": "genus", "epithet": "Masdevallia"}, create=True ) self.assertEquals(obj, None)