Ejemplo n.º 1
0
 def test_can_grab_existing_families(self):
     all_families = self.session.query(Family).all()
     orc = Family.retrieve_or_create(self.session, {"rank": "family", "epithet": "Orchidaceae"})
     leg = Family.retrieve_or_create(self.session, {"rank": "family", "epithet": "Leguminosae"})
     pol = Family.retrieve_or_create(self.session, {"rank": "family", "epithet": "Polypodiaceae"})
     sol = Family.retrieve_or_create(self.session, {"rank": "family", "epithet": "Solanaceae"})
     self.assertEquals(set(all_families), set([orc, pol, leg, sol]))
Ejemplo n.º 2
0
 def test_where_can_object_be_found_after_commit(self):
     fab = Family.retrieve_or_create(self.session, {"rank": "family", "epithet": "Fabaceae"})
     ## after commit it's in database.
     self.session.commit()
     other_session = db.Session()
     all_families = other_session.query(Family).all()
     fab = Family.retrieve_or_create(other_session, {"rank": "family", "epithet": "Fabaceae"})
     self.assertTrue(fab in all_families)
Ejemplo n.º 3
0
 def test_where_can_object_be_found_before_commit(self):  # disabled
     raise SkipTest("Not Implemented")
     fab = Family.retrieve_or_create(self.session, {"rank": "family", "epithet": "Fabaceae"})
     # created in a session, it's not in other sessions
     other_session = db.Session()
     db_families = other_session.query(Family).all()
     fab = Family.retrieve_or_create(other_session, {"rank": "family", "epithet": "Fabaceae"})
     self.assertFalse(fab in db_families)  # fails, why?
Ejemplo n.º 4
0
 def test_family_nocreate_noupdateeq_existing(self):
     ## retrieve same object, we only give the keys
     obj = Family.retrieve_or_create(
         self.session, {"object": "taxon", "rank": "familia", "epithet": "Leguminosae"}, create=False, update=False
     )
     self.assertTrue(obj is not None)
     self.assertEquals(obj.qualifier, "s. str.")
Ejemplo n.º 5
0
 def test_family_nocreate_updatediff_existing(self):
     ## update object in self.session
     obj = Family.retrieve_or_create(
         self.session,
         {"object": "taxon", "rank": "familia", "epithet": "Leguminosae", "qualifier": "s. lat."},
         create=False,
         update=True,
     )
     self.assertEquals(obj.qualifier, "s. lat.")
Ejemplo n.º 6
0
 def test_can_create_family(self):
     all_families = self.session.query(Family).all()
     fab = Family.retrieve_or_create(self.session, {"rank": "family", "epithet": "Fabaceae"})
     ## it's in the session, it wasn't there before.
     self.assertTrue(fab in self.session)
     self.assertFalse(fab in all_families)
     ## according to the session, it is in the database
     ses_families = self.session.query(Family).all()
     self.assertTrue(fab in ses_families)
Ejemplo n.º 7
0
 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))
Ejemplo n.º 8
0
 def test_family_nocreate_noupdate_noexisting(self):
     # do not create if not existing
     obj = Family.retrieve_or_create(
         self.session, {"object": "taxon", "rank": "familia", "epithet": "Arecaceae"}, create=False
     )
     self.assertEquals(obj, None)
Ejemplo n.º 9
0
 def test_grabbing_same_params_same_output_new(self):
     fab1 = Family.retrieve_or_create(self.session, {"rank": "family", "epithet": "Fabaceae"})
     fab2 = Family.retrieve_or_create(self.session, {"rank": "family", "epithet": "Fabaceae"})
     self.assertTrue(fab1 is fab2)
Ejemplo n.º 10
0
 def test_grabbing_same_params_same_output_existing(self):
     orc1 = Family.retrieve_or_create(self.session, {"rank": "family", "epithet": "Orchidaceae"})
     orc2 = Family.retrieve_or_create(self.session, {"rank": "family", "epithet": "Orchidaceae"})
     self.assertTrue(orc1 is orc2)