'The predicate is repeatedly call until the result is truthy, delaying
by the interval each time.'

def test_polls_until_true(self):

    sleeps = []
    results = [False, False, True]
    result = poll_until((lambda : results.pop(0)), repeat(1), sleeps.append)
    self.assertEqual((True, [1, 1]), (result, sleeps))
