def test_query_obama(self): query_obama() obama = People(idref="PER_BROBMA", name="Barack Obama") steve = People(idref="PER_STEVEN", name="Steve") robert = People(idref="PER_ROBERT", name="Robert") moon = People(idref="PER_MOOOON", name="The Moon") picnic = Crises(idref="CRI_PICNIC", name="A Picnic") aliens = Organizations(idref="ORG_ALIENS", name="Aliens") obama.save() steve.save() robert.save() moon.save() picnic.save() aliens.save() picnic.people.add(obama) picnic.people.add(steve) obama.organizations.add(aliens) robert.organizations.add(aliens) result = query_obama() self.assertEqual(len(result), 3) self.assertTrue((u"PER_BROBMA",) in result) self.assertTrue((u"PER_STEVEN",) in result) self.assertTrue((u"PER_ROBERT",) in result) self.assertTrue(not (u"PER_MOOOON",) in result) self.assertTrue(not (u"CRI_PICNIC",) in result) self.assertTrue(not (u"ORG_ALIENS",) in result)
def test_query_people_with_many_crises(self): query_people_with_many_crises() zero = People(name="boring person", idref="PER_BORING") one = People(name="Person in one crisis", idref="PER_ONECRI") two = People(name="Person in two crises", idref="PER_TWOCRI") three = People(name="Person in three crises", idref="PER_THRCRI") aids = Crises(name="AIDS/HIV", idref="CRI_AIDSHI") fire = Crises(name="Arizona Wildfires", idref="CRI_AZWILD") china = Crises(name="Democracy in China", idref="CRI_CHINAD") aids.people.add(one) aids.people.add(two) fire.people.add(two) aids.people.add(three) fire.people.add(three) china.people.add(three) zero.save() one.save() two.save() three.save() aids.save() fire.save() china.save() result = query_people_with_many_crises() self.assertEqual(len(result), 2) self.assertTrue(("PER_TWOCRI",) in result) self.assertTrue(("PER_THRCRI",) in result) self.assertTrue(not ("PER_ONECRI",) in result) self.assertTrue(not ("PER_BORING",) in result) self.assertTrue(not ("CRI_AIDSHI",) in result) self.assertTrue(not ("CRI_AZWILD",) in result) self.assertTrue(not ("CRI_CHINAD",) in result)
def test_query_people_in_crises_after_millenium(self): civilwar = Crises(name="The Civil War", idref="CRI_CIVWAR", date=date(1960, 1, 1)) monday = Crises(name="Monday", idref="CRI_MONDAY", date=date(2013, 8, 5)) lincoln = People(name="Abraham Lincoln", idref="PER_LINCLN") me = People(name="James Kunze", idref="PER_JAMESK") time = People(name="Some Time Traveler", idref="PER_TIMETR") fiction = People(name="Uninvolved Bystander", idref="PER_FICTIO") civilwar.people.add(lincoln) civilwar.people.add(time) monday.people.add(me) monday.people.add(time) civilwar.save() monday.save() lincoln.save() me.save() time.save() fiction.save() result = query_people_in_crises_after_millenium() self.assertEqual(len(result), 2) self.assertTrue(("PER_JAMESK",) in result) self.assertTrue(("PER_TIMETR",) in result) self.assertTrue(not ("PER_LINCLN",) in result) self.assertTrue(not ("PER_FICTIO",) in result) self.assertTrue(not ("CRI_CIVWAR",) in result) self.assertTrue(not ("CRI_MONDAY",) in result)
def test_query_things_without_pictures(self): query_things_without_pictures() obama = People(name="Barack Obama", idref="PER_BROBMA") me = People(name="James Kunze", idref="PER_JAMESK") un = Organizations(name="United Nations", idref="ORG_UNINAT") cachemoney = Organizations(name="Cache Money", idref="ORG_CACHEM") aids = Crises(name="AIDS/HIV", idref="CRI_AIDSHI") phasethree = Crises(name="CS373 Project Phase 3", idref="CRI_PROJCT") pic1 = List_Item(list_type="Images", idref="PER_BROBMA", embed="obamapic.png") pic2 = List_Item(list_type="Images", idref="ORG_UNINAT", embed="unpic.png") pic3 = List_Item(list_type="Images", idref="CRI_AIDSHI", embed="aidspic.png") obama.save() me.save() un.save() cachemoney.save() aids.save() phasethree.save() pic1.save() pic2.save() pic3.save() result = query_things_without_pictures() self.assertEqual(len(result), 3) self.assertTrue(not ("PER_BROBMA",) in result) self.assertTrue(not ("ORG_UNINAT",) in result) self.assertTrue(not ("CRI_AIDSHI",) in result) self.assertTrue(("PER_JAMESK",) in result) self.assertTrue(("ORG_CACHEM",) in result) self.assertTrue(("CRI_PROJCT",) in result)
def test_search_one_word(self): fire = Crises(name="Arizona Wildfires", idref="CRI_AZWILD", date=date(2013, 8, 5)) china = Crises(name="Democracy in China", idref="CRI_CHINAD", date=date(2013, 8, 5)) civilwar = Crises(name="The Civil War", idref="CRI_CIVWAR", date=date(1960, 1, 1)) dracula = People(name="Dracula", idref="PER_DRACUL") firedp = Organizations(name="Arizona Fire Department", idref="ORG_FIREDP") fire.save() china.save() civilwar.save() dracula.save() firedp.save() self.assertEqual( search_one_word("Arizona", []), [ ("CRI_AZWILD", "Arizona Wildfires", "Arizona Wildfires"), ("ORG_FIREDP", "Arizona Fire Department", "Arizona Fire Department"), ], ) self.assertEqual( search_one_word("Fire", []), [ ("CRI_AZWILD", "Arizona Wildfires", "Arizona Wildfires"), ("ORG_FIREDP", "Arizona Fire Department", "Arizona Fire Department"), ], ) self.assertEqual(search_one_word("Extreme Elevator Riding", []), []) self.assertEqual(search_one_word("Dracula", []), [("PER_DRACUL", "Dracula", "Dracula")]) self.assertEqual( search_one_word("Fire", ["CRI_AZWILD"]), [("ORG_FIREDP", "Arizona Fire Department", "Arizona Fire Department")], ) self.assertEqual( search_one_word("Fire", ["ORG_FIREDP"]), [("CRI_AZWILD", "Arizona Wildfires", "Arizona Wildfires")] ) self.assertEqual(search_one_word("Fire", ["CRI_AZWILD", "ORG_FIREDP"]), []) self.assertEqual(search_one_word("Democracy in China", []), search_one_word("DeMoCrAcY In CHINA", []))
def test_query_number_images_before_millenium(self): fire = Crises(name="Arizona Wildfires", idref="CRI_AZWILD", date=date(2013, 8, 5)) china = Crises(name="Democracy in China", idref="CRI_CHINAD", date=date(2013, 8, 5)) civilwar = Crises(name="The Civil War", idref="CRI_CIVWAR", date=date(1960, 1, 1)) dracula = People(name="Dracula", idref="PER_DRACUL") fire.save() china.save() civilwar.save() List_Item(idref="CRI_AZWILD", list_type="Images").save() List_Item(idref="CRI_CHINAD", list_type="Images").save() List_Item(idref="CRI_CHINAD", list_type="Videos").save() List_Item(idref="CRI_CHINAD", list_type="Maps").save() List_Item(idref="CRI_CIVWAR", list_type="Images").save() List_Item(idref="CRI_CIVWAR", list_type="Images").save() List_Item(idref="CRI_CIVWAR", list_type="Maps").save() List_Item(idref="PER_DRACUL", list_type="Images").save() List_Item(idref="PER_DRACUL", list_type="Videos").save() result = query_number_images_before_millenium() self.assertEqual(len(result), 1) self.assertTrue((2,) in result)
def test_query_find_natural_disasters(self): query_find_natural_disasters() war = Crises(name="War", idref="CRI_THEWAR") aliens = Crises(name="Aliens", idref="CRI_ALIENS", kind="Unnatural disaster") fire = Crises(name="Forest fire", idref="CRI_FFIRES", kind="Natural disaster") flood = Crises(name="Flooding", idref="CRI_FLOODS", kind="Natural disaster") war.save() aliens.save() fire.save() flood.save() result = query_find_natural_disasters() self.assertEqual(len(result), 2) self.assertTrue(("CRI_FFIRES",) in result) self.assertTrue(("CRI_FLOODS",) in result) self.assertTrue(not ("CRI_THEWAR",) in result) self.assertTrue(not ("CRI_ALIENS",) in result)
def test_query_crises_without_things(self): query_crises_without_things() vader = People(name="Darth Vader", idref="PER_DVADER") luke = People(name="Luke Skywalker", idref="PER_LUKESW") empire = Organizations(name="The Empire", idref="ORG_EMPIRE") war = Crises(name="Intergalactic War", idref="CRI_THEWAR") war.people.add(vader) war.people.add(luke) war.organizations.add(empire) vader.organizations.add(empire) stormtroopers = Crises(name="Stormtroopers are dumb", idref="CRI_TROOPR") stormtroopers.organizations.add(empire) rebellion = Crises(name="The Rebellion", idref="CRI_REBELS") rebellion.people.add(luke) problem = Crises(name="The prequels suck", idref="CRI_PREQEL") tired = Crises(name="making these tests is tiring i'm sorry for the dumb stuff", idref="CRI_IMBORD") orphan = People(name="person w/o thing", idref="PER_ORPHAN") vader.save() luke.save() empire.save() war.save() stormtroopers.save() rebellion.save() problem.save() tired.save() orphan.save() result = query_crises_without_things() self.assertEqual(len(result), 2) self.assertTrue(("CRI_PREQEL",) in result) self.assertTrue(("CRI_IMBORD",) in result) self.assertTrue(not ("PER_DVADER",) in result) self.assertTrue(not ("PER_LUKESW",) in result) self.assertTrue(not ("ORG_EMPIRE",) in result) self.assertTrue(not ("CRI_THEWAR",) in result) self.assertTrue(not ("CRI_TROOPR",) in result) self.assertTrue(not ("CRI_REBELS",) in result) self.assertTrue(not ("PER_ORPHAN",) in result)