Skip to content

Commit 7a20d3d

Browse files
committed
Primitive test suite for object pool pattern
1 parent 99e6288 commit 7a20d3d

File tree

1 file changed

+21
-30
lines changed

1 file changed

+21
-30
lines changed

tests/test_pool.py

Lines changed: 21 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -5,38 +5,29 @@
55
import queue
66
except ImportError: # python 2.x compatibility
77
import Queue as queue
8-
from creational.pool import QueueObject
8+
from creational.pool import ObjectPool
99

1010

1111
class TestPool(unittest.TestCase):
1212

1313
def setUp(self):
14-
15-
def test_object(queue):
16-
queue_object = QueueObject(queue, True)
17-
print('Inside func: {}'.format(queue_object.object))
18-
19-
def test_pool_behavior(self):
20-
sample_queue = queue.Queue()
21-
sample_queue.put('yam')
22-
self.assertTrue(sample_queue.get() == 'yam')
23-
# with QueueObject(sample_queue) as obj:
24-
# print('Inside with: {}'.format(obj))
25-
26-
# sample_queue.put('sam')
27-
# test_object(sample_queue)
28-
# print('Outside func: {}'.format(sample_queue.get()))
29-
30-
# if not sample_queue.empty():
31-
# print(sample_queue.get())
32-
33-
34-
# if __name__ == '__main__':
35-
# main()
36-
37-
### OUTPUT ###
38-
# Inside with: yam
39-
# Outside with: yam
40-
# Inside func: sam
41-
# Outside func: sam
42-
14+
self.sample_queue = queue.Queue()
15+
self.sample_queue.put('first')
16+
self.sample_queue.put('second')
17+
18+
def test_items_recoil(self):
19+
with ObjectPool(self.sample_queue, True) as pool:
20+
self.assertEqual(pool, 'first')
21+
self.assertTrue(self.sample_queue.get() == 'second')
22+
self.assertFalse(self.sample_queue.empty())
23+
self.assertTrue(self.sample_queue.get() == 'first')
24+
self.assertTrue(self.sample_queue.empty())
25+
26+
def test_frozen_pool(self):
27+
with ObjectPool(self.sample_queue) as pool:
28+
self.assertEqual(pool, 'first')
29+
self.assertEqual(pool, 'first')
30+
self.assertTrue(self.sample_queue.get() == 'second')
31+
self.assertFalse(self.sample_queue.empty())
32+
self.assertTrue(self.sample_queue.get() == 'first')
33+
self.assertTrue(self.sample_queue.empty())

0 commit comments

Comments
 (0)