Ejemplo n.º 1
0
 def test_it15(self):
     msg = "Should keep two family instances separate"
     fam = family()
     fam2 = family()
     self.assertEquals(fam.set_parent_of("Otilia", "Peter"), True, msg)
     self.assertEquals(fam2.set_parent_of("Otilia", "Jeff"), True, msg)
     self.assertEquals(fam2.get_parents_of("Otilia"), ["Jeff"], msg)
     self.assertEquals(fam.get_parents_of("Otilia"), ["Peter"], msg)
Ejemplo n.º 2
0
 def test_it26(self):
     msg = "Should know Morgan's children after a new child was declared"
     fam = family()
     self.assertEquals(fam.set_parent_of("Frank", "Morgan")
                       and fam.set_parent_of("July", "Morgan")
                       and fam.set_parent_of("Jennifer", "Morgan"), True, msg)
     self.assertEquals(fam.get_children_of("Morgan"), ["Frank", "Jennifer", "July"], msg)
Ejemplo n.º 3
0
 def test_it11(self):
     msg = "Should list children in alphabetical order"
     fam = family()
     fam.set_parent_of("Susan", "Jeremy")
     fam.set_parent_of("Penelope", "Jeremy")
     fam.set_parent_of("Hank", "Jeremy")
     self.assertEquals(fam.get_children_of("Jeremy"), ["Hank", "Penelope", "Susan"], msg)
Ejemplo n.º 4
0
 def test_it30(self):
     msg = "Should deduce that Morgan is a woman"
     fam = family()
     fam.set_parent_of("Frank", "Morgan")
     fam.set_parent_of("Frank", "Dylan")
     fam.male("Dylan")
     self.assertEquals(fam.is_female("Morgan"), True, msg)
Ejemplo n.º 5
0
 def test_it27(self):
     msg = "Should only consider Frank as Dylan's child"
     fam = family()
     self.assertEquals(fam.set_parent_of("Frank", "Dylan")
                       and fam.set_parent_of("Frank", "Morgan")
                       and fam.set_parent_of("July", "Morgan")
                       and fam.set_parent_of("Jennifer", "Morgan"), True, msg)
     self.assertEquals(fam.get_children_of("Dylan"), ["Frank"], msg)
Ejemplo n.º 6
0
 def test_it23(self):
     msg = "Should be able to continue after a rejected assertion"
     fam = family()
     fam.set_parent_of("Frank", "Morgan")
     fam.set_parent_of("Frank", "Dylan")
     fam.male("Dylan")
     fam.male("Morgan")
     self.assertEquals(fam.set_parent_of("July", "Morgan"), True, msg)
Ejemplo n.º 7
0
 def test_it14(self):
     msg = "Should support grandparents"
     fam = family()
     self.assertEquals(fam.set_parent_of("Susan", "Otilia")
                       and fam.set_parent_of("Susan", "Jeremy")
                       and fam.set_parent_of("Otilia", "Peter"), True, msg)
     self.assertEquals(fam.get_parents_of("Susan"), ["Jeremy", "Otilia"], msg)
     self.assertEquals(fam.get_parents_of("Otilia"), ["Peter"], msg)
Ejemplo n.º 8
0
 def test_43_impossible_tree_structure(self):
     fam = family()
     self.assertTrue(fam.set_parent_of("B", "A"))
     self.assertTrue(fam.set_parent_of("B", "C"))
     self.assertTrue(fam.set_parent_of("D", "C"))
     self.assertTrue(fam.set_parent_of("D", "E"))
     self.assertTrue(fam.set_parent_of("F", "E"))
     self.assertFalse(fam.set_parent_of("F", "A"))
Ejemplo n.º 9
0
 def test_it21(self):
     msg = "Should confirm the introduction of the family members"
     fam = family()
     self.assertEquals(fam.set_parent_of("Frank", "Morgan")
                       and fam.set_parent_of("Frank", "Dylan")
                       and fam.male("Dylan")
                       and fam.set_parent_of("Joy", "Frank")
                       and fam.male("Frank"), True, msg)
Ejemplo n.º 10
0
 def test_44_so_much_incest_it_is_impossible(self):
     fam = family()
     self.assertTrue(fam.set_parent_of("B", "A"))
     self.assertTrue(fam.set_parent_of("C", "A"))
     self.assertTrue(fam.set_parent_of("C", "B"))
     self.assertTrue(fam.set_parent_of("D", "A"))
     self.assertTrue(fam.set_parent_of("D", "C"))
     self.assertTrue(fam.set_parent_of("E", "B"))
     self.assertFalse(fam.set_parent_of("E", "C"))
Ejemplo n.º 11
0
 def test_it24(self):
     msg = "Should not know Joy's gender"
     fam = family()
     fam.set_parent_of("Frank", "Morgan")
     fam.set_parent_of("Frank", "Dylan")
     fam.male("Dylan")
     fam.set_parent_of("Joy", "Frank")
     fam.male("Frank")
     self.assertEquals(fam.is_male("Joy") or fam.is_female("Joy"), False, msg)
Ejemplo n.º 12
0
 def test_41(self):
     fam = family()
     self.assertTrue(fam.set_parent_of("B", "A"))
     self.assertTrue(fam.set_parent_of("B", "C"))
     self.assertTrue(fam.set_parent_of("D", "E"))
     self.assertTrue(fam.set_parent_of("F", "E"))
     self.assertTrue(fam.set_parent_of("H", "G"))
     self.assertTrue(fam.set_parent_of("H", "A"))
     self.assertTrue(fam.set_parent_of("F", "G"))
     self.assertTrue(fam.set_parent_of("D", "C"))
     self.assertTrue(fam.male("E"))
     self.assertTrue(fam.is_male("A"))
Ejemplo n.º 13
0
 def test_40(self):
     fam = family()
     self.assertTrue(fam.set_parent_of("B", "A"))
     self.assertTrue(fam.set_parent_of("B", "C"))
     self.assertTrue(fam.set_parent_of("D", "E"))
     self.assertTrue(fam.set_parent_of("F", "E"))
     self.assertTrue(fam.set_parent_of("H", "G"))
     self.assertTrue(fam.set_parent_of("H", "I"))
     self.assertTrue(fam.set_parent_of("F", "G"))
     self.assertTrue(fam.set_parent_of("D", "C"))
     self.assertTrue(fam.male("E"))
     self.assertEquals(fam.is_male("A"), True, "DUPA")
Ejemplo n.º 14
0
 def test_42(self):
     fam = family()
     self.assertTrue(fam.set_parent_of("B", "A"))
     self.assertTrue(fam.set_parent_of("B", "C"))
     self.assertTrue(fam.set_parent_of("D", "E"))
     self.assertTrue(fam.set_parent_of("F", "E"))
     self.assertTrue(fam.set_parent_of("H", "G"))
     self.assertTrue(fam.set_parent_of("H", "I"))
     self.assertTrue(fam.set_parent_of("F", "G"))
     self.assertTrue(fam.set_parent_of("D", "C"))
     self.assertTrue(fam.male("E"))
     self.assertTrue(fam.set_parent_of("K", "L"))
     self.assertTrue(fam.set_parent_of("K", "I"))
     self.assertTrue(fam.is_male("I"))
     self.assertTrue(fam.is_female("L"))
     self.assertTrue(fam.set_parent_of("M", "L"))
     self.assertTrue(fam.set_parent_of("M", "N"))
     self.assertTrue(fam.is_male("N"))
Ejemplo n.º 15
0
 def test_it09(self):
     msg = "Should list parents in alphabetical order"
     fam = family()
     fam.set_parent_of("Susan", "Otilia")
     fam.set_parent_of("Susan", "Jeremy")
     self.assertEquals(fam.get_parents_of("Susan"), ["Jeremy", "Otilia"], msg)
Ejemplo n.º 16
0
 def test_it08(self):
     msg = "Should allow to add a second parent"
     fam = family()
     self.assertEquals(fam.set_parent_of("Susan", "Otilia")
                       and fam.set_parent_of("Susan", "Jeremy"), True, msg)
Ejemplo n.º 17
0
 def test_it07(self):
     msg = "Should not include a relationship that was rejected before"
     fam = family()
     fam.set_parent_of("John", "John")
     self.assertEquals(fam.get_parents_of("John"), [], msg)
Ejemplo n.º 18
0
 def test_it06(self):
     msg = "Should echo back with get_children_of what was affirmed before"
     fam = family()
     fam.set_parent_of("Morgan", "Frank")
     self.assertEquals(fam.get_children_of("Frank"), ["Morgan"], msg)
Ejemplo n.º 19
0
 def test_it05(self):
     msg = "Should echo back with get_parents_of what was affirmed before"
     fam = family()
     fam.set_parent_of("Megan", "Helen")
     self.assertEquals(fam.get_parents_of("Megan"), ["Helen"], msg)
Ejemplo n.º 20
0
 def test_it29(self):
     msg = "Should know someone's parent cannot be their child"
     fam = family()
     self.assertEquals(fam.set_parent_of("Frank", "Morgan"), True, msg)
     self.assertEquals(fam.set_parent_of("Morgan", "Frank"), False, msg)
Ejemplo n.º 21
0
 def test_it13(self):
     msg = "Should reject a gender assignment that does not match with previous information"
     fam = family()
     self.assertEquals(fam.male("Frank"), True, msg)
     self.assertEquals(fam.female("Frank"), False, msg)
Ejemplo n.º 22
0
 def test_it00(self):
     fam = family()
     for method in ["male", "is_male", "female", "is_female", "set_parent_of", "get_parents_of", "get_children_of"]:
         self.assertEquals(hasattr(fam, method) and callable(getattr(fam, method)), True,
                           "The family class does not define the {} method".format(method))
Ejemplo n.º 23
0
 def test_it02(self):
     msg = "Should return True for a valid father relationship"
     fam = family()
     self.assertEquals(fam.set_parent_of("Morgan", "Frank")
                       and fam.male("Frank"), True, msg)
Ejemplo n.º 24
0
 def test_it03(self):
     msg = "Should return True for a valid mother relationship"
     fam = family()
     self.assertEquals(fam.set_parent_of("Megan", "Helen")
                       and fam.female("Helen"), True, msg)
Ejemplo n.º 25
0
 def test_it10(self):
     msg = "Should allow to add a second and third child"
     fam = family()
     self.assertEquals(fam.set_parent_of("Susan", "Otilia")
                       and fam.set_parent_of("Penelope", "Jeremy")
                       and fam.set_parent_of("Hank", "Jeremy"), True, msg)
Ejemplo n.º 26
0
 def test_45_no_homo(self):
     fam = family()
     self.assertTrue(fam.male("A"))
     self.assertTrue(fam.male("B"))
     self.assertTrue(fam.set_parent_of("C", "A"))
     self.assertFalse(fam.set_parent_of("C", "B"))
Ejemplo n.º 27
0
 def test_it12(self):
     msg = "Should not complain when the same info is provided twice, but not store it twice either"
     fam = family()
     self.assertEquals(fam.set_parent_of("Megan", "Helen")
                       and fam.set_parent_of("Megan", "Helen"), True, msg)
     self.assertEquals(fam.get_parents_of("Megan"), ["Helen"], msg)
Ejemplo n.º 28
0
 def test_46_infer_gender_from_spouse(self):
     fam = family()
     self.assertTrue(fam.male("A"))
     self.assertTrue(fam.set_parent_of("C", "A"))
     self.assertTrue(fam.set_parent_of("C", "B"))
     self.assertTrue(fam.is_female("B"))
Ejemplo n.º 29
0
 def test_it04(self):
     msg = "Should not accept that child and parent have the same name"
     fam = family()
     self.assertEquals(fam.set_parent_of("John", "John"), False, msg)
Ejemplo n.º 30
0
 def test_it28(self):
     msg = "Should confirm the obvious"
     fam = family()
     self.assertEquals(fam.set_parent_of("Frank", "Dylan")
                       and fam.set_parent_of("Frank", "Morgan"), True, msg)
     self.assertEquals(fam.get_parents_of("Frank"), ["Dylan", "Morgan"], msg)