def test_parenting_and_deparenting(self): p = BaseService("parent") c = BaseService("child") p.add_child(c) self.assertEqual(len(p.keys()), 1) c.disown_parent() self.assertEqual(len(p.keys()), 0)
def test_stop_service_with_child(self): class C(BaseService): _outcome = 0 def stop_service(self): self._outcome = 1 p = BaseService("parent") c = C("child") p.add_child(c) p.start() self.assertEqual(c._outcome, 0) p.stop() self.assertEqual(c._outcome, 1)
def test_double_add_child_fails(self): p = BaseService("parent") c = BaseService("child") p.add_child(c) self.assertRaises(KeyError, p.add_child, c)