Exemple #1
0
    def test_get_many_not_enough_space(self):
        q = Queue(10)
        msg = "you want to get 12 but maxsize is 10"
        with self.assertRaisesRegexp(ValueError, msg):
            q.get_many(12)

        with self.assertRaises(Empty):
            q.get_many(2, block=False)
Exemple #2
0
    def test_get_many_enough_space(self):
        q = Queue(10)
        q.put_many((1, 2, 3))
        q.put_many((1, 2, 3))

        self.assertEqual((1, 2), q.get_many(2))
        self.assertEqual((3, 1), q.get_many(2))
        self.assertEqual((2, 3), q.get_many(2))
Exemple #3
0
    def test_get_many_not_enough_space(self):
        q = Queue(10)
        msg = "you want to get 12 but maxsize is 10"
        with self.assertRaisesRegexp(ValueError, msg):
            q.get_many(12)

        with self.assertRaises(Empty):
            q.get_many(2, block=False)
Exemple #4
0
    def test_get_many_enough_space(self):
        q = Queue(10)
        q.put_many((1, 2, 3))
        q.put_many((1, 2, 3))

        self.assertEqual((1, 2), q.get_many(2))
        self.assertEqual((3, 1), q.get_many(2))
        self.assertEqual((2, 3), q.get_many(2))
    def test_get_many_with_item_limit(self):
        q = Queue()

        def producer(q):
            time.sleep(1)
            q.put_many((1, 2, 3))
            q.put_many((1, 2, 3))

        t = threading.Thread(target=producer, args=(q, ))
        t.start()

        self.assertEqual((1, 2), q.get_many(-1, maxitems=2, timeout=2))
        self.assertEqual((3, ), q.get_many(-1, maxitems=1, timeout=2))
        self.assertEqual((1, 2, 3), q.get_many(-1, maxitems=3, timeout=2))

        t.join()