def test_parked_closed(self): ch = Channel() def closing(): yield sleep(0.005) ch.close() go(closing) self.assertEqual((yield take(ch)), CLOSED)
def test_immediate_puts_and_takes(self): ch = Channel(1) i = 0 while i < self.limit: i += 1 yield put(ch, 1) yield take(ch)
def test_parked_put(self): ch = Channel() def putting(): yield sleep(0.005) yield put(ch, 42) go(putting) self.assertEqual((yield take(ch)), 42)
def test_immediate_closed(self): ch = Channel() ch.close() self.assertEqual((yield take(ch)), CLOSED)
def test_immediate_buffered(self): ch = Channel(1) yield put(ch, 42) self.assertEqual((yield take(ch)), 42)
def test_immediate_put(self): ch = Channel() def putting(): yield put(ch, 42) go(putting) self.assertEqual((yield take(ch)), 42)
def taking(): yield sleep(0.005) yield take(ch)
def test_taking_from_closed_channel(self): i = 0 while i < self.limit: i += 1 yield take(self.ch)
def taking(): yield take(ch)
def test_returning_CLOSED(self): def ident(x): yield stop(x) ch = go_channel(ident, CLOSED) self.assertEqual((yield take(ch)), CLOSED, "CLOSED is delivered") self.assertEqual(ch.is_closed(), True, "output channel is closed")
def test_returning_value(self): def ident(x): yield stop(x) ch = go_channel(ident, 42) self.assertEqual((yield take(ch)), 42, "returned value is delivered") self.assertEqual(ch.is_closed(), True, "output channel is closed")