コード例 #1
0
ファイル: test_pool.py プロジェクト: bopopescu/mythbox-1
    def test_state_on_construction(self):
        p = Pool(WidgetFactory())
        self.assertEquals(0, p.size())
        self.assertEquals(0, p.available())

        p.shutdown()
        self.assertEquals(0, p.size())
        self.assertEquals(0, p.available())
コード例 #2
0
ファイル: test_pool.py プロジェクト: Berimor66/mythbox
 def test_state_on_construction(self):
     p = Pool(WidgetFactory())
     self.assertEquals(0, p.size())
     self.assertEquals(0, p.available())
     
     p.shutdown()
     self.assertEquals(0, p.size())
     self.assertEquals(0, p.available())
コード例 #3
0
ファイル: test_pool.py プロジェクト: Berimor66/mythbox
 def test_grow_does_nothing_when_requested_size_less_than_or_equal_to_current_size(self):
     p = Pool(WidgetFactory())
     for i in range(10):
         p.checkout()
     p.grow(5)
     self.assertEquals(10, p.size())
     self.assertEquals(0, p.available())
     
     p.grow(10)
     self.assertEquals(10, p.size())
     self.assertEquals(0, p.available())
コード例 #4
0
ファイル: test_pool.py プロジェクト: Berimor66/mythbox
 def test_grow_expands_resource_pool_when_requested_size_greater_than_current_size(self):
     p = Pool(WidgetFactory())
     p.grow(3)
     self.assertEquals(3, p.size())
     self.assertEquals(3, p.available())
     
     for i in range(5):
         p.checkout()
     p.grow(10)
     self.assertEquals(10, p.size())
     self.assertEquals(10-5, p.available())
コード例 #5
0
ファイル: test_pool.py プロジェクト: bopopescu/mythbox-1
    def test_grow_expands_resource_pool_when_requested_size_greater_than_current_size(
            self):
        p = Pool(WidgetFactory())
        p.grow(3)
        self.assertEquals(3, p.size())
        self.assertEquals(3, p.available())

        for i in range(5):
            p.checkout()
        p.grow(10)
        self.assertEquals(10, p.size())
        self.assertEquals(10 - 5, p.available())
コード例 #6
0
ファイル: test_pool.py プロジェクト: bopopescu/mythbox-1
    def test_grow_does_nothing_when_requested_size_less_than_or_equal_to_current_size(
            self):
        p = Pool(WidgetFactory())
        for i in range(10):
            p.checkout()
        p.grow(5)
        self.assertEquals(10, p.size())
        self.assertEquals(0, p.available())

        p.grow(10)
        self.assertEquals(10, p.size())
        self.assertEquals(0, p.available())
コード例 #7
0
ファイル: test_pool.py プロジェクト: bopopescu/mythbox-1
    def test_checkin_checkout(self):
        p = Pool(WidgetFactory())
        w1 = p.checkout()
        log.debug(w1)

        self.assertEquals(1, p.size())
        self.assertEquals(0, p.available())

        p.checkin(w1)
        self.assertEquals(1, p.size())
        self.assertEquals(1, p.available())

        w2 = p.checkout()
        self.assertEquals(w1, w2)
        self.assertEquals(1, p.size())
        self.assertEquals(0, p.available())
コード例 #8
0
ファイル: test_pool.py プロジェクト: Berimor66/mythbox
 def test_checkin_checkout(self):
     p = Pool(WidgetFactory())
     w1 = p.checkout()
     log.debug(w1)
     
     self.assertEquals(1, p.size())
     self.assertEquals(0, p.available())
     
     p.checkin(w1)
     self.assertEquals(1, p.size())
     self.assertEquals(1, p.available())
     
     w2 = p.checkout()
     self.assertEquals(w1, w2)
     self.assertEquals(1, p.size())
     self.assertEquals(0, p.available())
コード例 #9
0
ファイル: test_pool.py プロジェクト: bopopescu/mythbox-1
 def test_shrink_reclaims_unused_resources_with_existing_checkouts(self):
     p = Pool(WidgetFactory())
     w1 = p.checkout()
     w2 = p.checkout()
     w3 = p.checkout()
     p.checkin(w1)
     p.checkin(w2)
     p.shrink()
     self.assertEquals(1, p.size())
     self.assertEquals(0, p.available())
コード例 #10
0
ファイル: test_pool.py プロジェクト: Berimor66/mythbox
 def test_shrink_reclaims_unused_resources_with_existing_checkouts(self):
     p = Pool(WidgetFactory())
     w1 = p.checkout()
     w2 = p.checkout()
     w3 = p.checkout()
     p.checkin(w1)
     p.checkin(w2)
     p.shrink()
     self.assertEquals(1, p.size())
     self.assertEquals(0, p.available())
コード例 #11
0
ファイル: test_pool.py プロジェクト: bopopescu/mythbox-1
 def test_grow_shrink_combos(self):
     p = Pool(WidgetFactory())
     p.grow(5)
     p.shrink()
     p.grow(20)
     p.checkout()
     p.shrink()
     p.checkout()
     p.grow(3)
     self.assertEquals(3, p.size())
     self.assertEquals(1, p.available())
コード例 #12
0
ファイル: test_pool.py プロジェクト: Berimor66/mythbox
 def test_multiple_consumers(self):
     p = Pool(WidgetFactory())
     numConsumers = 10
     consumers = []    
     for c in xrange(numConsumers):
         consumers.append(self.multiple_consumers_thread(c, p, numConsumers))
     for consumer in consumers:
         consumer.join()
     self.assertTrue(p.available() > 0)
     self.assertTrue(p.size() > 0)
     p.shutdown()
コード例 #13
0
ファイル: test_pool.py プロジェクト: Berimor66/mythbox
 def test_grow_shrink_combos(self):
     p = Pool(WidgetFactory())
     p.grow(5)
     p.shrink()
     p.grow(20)
     p.checkout()
     p.shrink()
     p.checkout()
     p.grow(3)
     self.assertEquals(3, p.size())
     self.assertEquals(1, p.available())
コード例 #14
0
ファイル: test_pool.py プロジェクト: bopopescu/mythbox-1
 def test_multiple_consumers(self):
     p = Pool(WidgetFactory())
     numConsumers = 10
     consumers = []
     for c in xrange(numConsumers):
         consumers.append(self.multiple_consumers_thread(
             c, p, numConsumers))
     for consumer in consumers:
         consumer.join()
     self.assertTrue(p.available() > 0)
     self.assertTrue(p.size() > 0)
     p.shutdown()
コード例 #15
0
ファイル: test_pool.py プロジェクト: bopopescu/mythbox-1
 def test_shrink_does_nothing_to_pool_when_available_is_zero(self):
     p = Pool(WidgetFactory())
     p.checkout()
     p.shrink()
     self.assertEquals(1, p.size())
     self.assertEquals(0, p.available())
コード例 #16
0
ファイル: test_pool.py プロジェクト: bopopescu/mythbox-1
 def test_shrink_does_nothing_to_empty_pool(self):
     p = Pool(WidgetFactory())
     p.shrink()
     self.assertEquals(0, p.size())
     self.assertEquals(0, p.available())
コード例 #17
0
ファイル: test_pool.py プロジェクト: Berimor66/mythbox
 def test_shrink_does_nothing_to_empty_pool(self):
     p = Pool(WidgetFactory())
     p.shrink()
     self.assertEquals(0, p.size())
     self.assertEquals(0, p.available())
コード例 #18
0
ファイル: test_pool.py プロジェクト: Berimor66/mythbox
 def test_shrink_does_nothing_to_pool_when_available_is_zero(self):
     p = Pool(WidgetFactory())
     p.checkout()
     p.shrink()
     self.assertEquals(1, p.size())
     self.assertEquals(0, p.available())