def testInternMakesCoffee(self): self.caffeinated = False def DrinkCoffee(): self.caffeinated = True DelegateToIntern(work=Intern().MakeCoffee, callback=DrinkCoffee) self.assertFalse(self.caffeinated, "I watch YouTubework; intern brews") time.sleep(60) # 1min should be long enough to make coffee, right? self.assertTrue(self.caffeinated, "Where's mah coffee?!?")
def testInternMakesCoffee(self): is_started, can_finish, is_done = Event(), Event(), Event() def FakeCoffeeMaker(): is_started.set() # Allow is_started.wait() to return. # Wait up to 1min for can_finish.set() to be called. The timeout # prevents failures from hanging, but doesn't delay a passing test. can_finish.wait(timeout=60) # .await() in Java DelegateToIntern(work=FakeCoffeeMaker, callback=lambda:is_done.set()) is_started.wait(timeout=60) self.assertTrue(is_started.isSet(), "FakeCoffeeMaker should have started") self.assertFalse(is_done.isSet(), "Don't bug me before coffee's made") can_finish.set() # Now let FakeCoffeeMaker return. is_done.wait(timeout=60) self.assertTrue(is_done.isSet(), "Intern should ping when coffee's ready")
No comments :
Post a Comment