def test_iterconsume(self):

    class MyConnection(object):
        drained = 0

        def drain_events(self, *args, **kwargs):
            self.drained += 1
            return self.drained

    class Consumer(object):
        active = False

        def consume(self, *args, **kwargs):
            self.active = True
    conn = MyConnection()
    consumer = Consumer()
    it = compat._iterconsume(conn, consumer)
    self.assertEqual(next(it), 1)
    self.assertTrue(consumer.active)
    it2 = compat._iterconsume(conn, consumer, limit=10)
    self.assertEqual(list(it2), [2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
def test_iterconsume(self):

    class MyConnection(object):
        drained = 0

        def drain_events(self, *args, **kwargs):
            self.drained += 1
            return self.drained

    class Consumer(object):
        active = False

        def consume(self, *args, **kwargs):
            self.active = True
    conn = MyConnection()
    consumer = Consumer()
    it = compat._iterconsume(conn, consumer)
    self.assertEqual(next(it), 1)
    self.assertTrue(consumer.active)
    it2 = compat._iterconsume(conn, consumer, limit=10)
    self.assertEqual(list(it2), [2, 3, 4, 5, 6, 7, 8, 9, 10, 11])