def test_notb(self): tree = behaviours.notb(behaviours.evalb("check", lambda state: True)) running, success = tree.tick() self.assertEqual(running, False) self.assertEqual(success, False) tree = behaviours.notb(behaviours.evalb("check", lambda state: False)) running, success = tree.tick() self.assertEqual(running, False) self.assertEqual(success, True)
def test_notb(self): tree = behaviours.notb( behaviours.evalb("check", lambda state: True)) running, success = tree.tick() self.assertEqual(running, False) self.assertEqual(success, False) tree = behaviours.notb( behaviours.evalb("check", lambda state: False)) running, success = tree.tick() self.assertEqual(running, False) self.assertEqual(success, True)
def test_parallel_until(self): s = dict(stop=False, count=0) tree = behaviours.untilb("repeat until", behaviours.evalb("check", lambda state: state['stop']), behaviours.notb(behaviours.do("incr", lambda state: state.__setitem__("count", state["count"] + 1))), ) running, success = tree.tick(s) self.assertEqual(running, True) self.assertEqual(s['count'], 1) running, success = tree.tick(s) self.assertEqual(running, True) self.assertEqual(s['count'], 2) s['stop'] = True running, success = tree.tick(s) self.assertEqual(running, False) self.assertEqual(success, True) self.assertEqual(s['count'], 3)
def test_parallel_until(self): s = dict(stop=False, count=0) tree = behaviours.untilb( "repeat until", behaviours.evalb("check", lambda state: state['stop']), behaviours.notb( behaviours.do( "incr", lambda state: state.__setitem__( "count", state["count"] + 1))), ) running, success = tree.tick(s) self.assertEqual(running, True) self.assertEqual(s['count'], 1) running, success = tree.tick(s) self.assertEqual(running, True) self.assertEqual(s['count'], 2) s['stop'] = True running, success = tree.tick(s) self.assertEqual(running, False) self.assertEqual(success, True) self.assertEqual(s['count'], 3)