def test_xform_filter(self): ch = c.promise_chan(xf.filter(lambda x: x > 0)) self.assertIs(ch.b_put(-1), True) self.assertIs(ch.b_put(1), True) self.assertIs(ch.b_put(2), True) self.assertEqual(ch.b_get(), 1) self.assertEqual(ch.b_get(), 1)
def test_after_close(self): ch = c.promise_chan() ch.b_put('success') ch.close() self.assertIs(ch.b_put('failure'), False) self.assertIs(ch.b_put('failure'), False) self.assertEqual(ch.b_get(), 'success') self.assertEqual(ch.b_get(), 'success')
def test_xform_complete_flush(self): ch = c.promise_chan(xf.partition_all(3)) self.assertIs(ch.b_put(1), True) self.assertIs(ch.b_put(2), True) self.assertIsNone(ch.poll()) ch.close() self.assertEqual(ch.b_get(), (1, 2)) self.assertEqual(ch.b_get(), (1, 2)) self.assertIs(ch.b_put('drop me'), False)
def test_xform_with_reduced_return(self): ch = c.promise_chan(xf.take(1)) self.assertIs(ch.b_put('success'), True) self.assertIs(ch.b_put('failure'), False) self.assertEqual(ch.b_get(), 'success') self.assertEqual(ch.b_get(), 'success')
def test_multiple_puts(self): ch = c.promise_chan() self.assertIs(ch.b_put('success'), True) self.assertIs(ch.b_put('drop me'), True)
def test_multiple_gets(self): ch = c.promise_chan() self.assertIs(ch.b_put('success'), True) self.assertEqual(ch.b_get(), 'success') self.assertEqual(ch.b_get(), 'success')