~cr3/launchpad-results/trunk

« back to all changes in this revision

Viewing changes to lib/lpx/disk/tests/test_cache.py

  • Committer: Marc Tardif
  • Date: 2011-04-23 21:55:09 UTC
  • Revision ID: marc.tardif@canonical.com-20110423215509-lr5lve64vl0fin7b
Added disk package, attachment modules and corresponding infrastructure.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Copyright 2010 Canonical Ltd.  This software is licensed under the
 
2
# GNU Affero General Public License version 3 (see the file LICENSE).
 
3
 
 
4
__metaclass__ = type
 
5
 
 
6
__all__ = []
 
7
 
 
8
from unittest import (
 
9
    defaultTestLoader,
 
10
    TestCase,
 
11
    )
 
12
 
 
13
from lpx.disk.cache import LRUCache
 
14
 
 
15
 
 
16
class TestLRUCache(TestCase):
 
17
 
 
18
    def test_del(self):
 
19
        cache = LRUCache()
 
20
        cache["a"] = 1
 
21
        self.assertEquals(len(cache), 1)
 
22
        self.assertEquals(list(cache), ["a"])
 
23
 
 
24
        del cache["a"]
 
25
        self.assertEquals(len(cache), 0)
 
26
        self.assertEquals(list(cache), [])
 
27
 
 
28
    def test_item(self):
 
29
        cache = LRUCache()
 
30
        cache["a"] = 1
 
31
        self.assertEquals(cache["a"], 1)
 
32
 
 
33
        cache["a"] = 1
 
34
        self.assertEquals(cache["a"], 1)
 
35
 
 
36
        cache["b"] = 2
 
37
        self.assertEquals(cache["b"], 2)
 
38
        self.assertEquals(cache["a"], 1)
 
39
 
 
40
    def test_iter(self):
 
41
        cache = LRUCache()
 
42
        self.assertEquals(list(cache), [])
 
43
 
 
44
        cache["a"] = 1
 
45
        self.assertEquals(list(cache), ["a"])
 
46
 
 
47
        cache["b"] = 2
 
48
        self.assertEquals(list(cache), ["b", "a"])
 
49
 
 
50
        cache["a"]
 
51
        self.assertEquals(list(cache), ["a", "b"])
 
52
 
 
53
    def test_len(self):
 
54
        cache = LRUCache()
 
55
        self.assertEquals(len(cache), 0)
 
56
 
 
57
        cache["a"] = 1
 
58
        self.assertEquals(len(cache), 1)
 
59
 
 
60
        cache["a"] = 1
 
61
        self.assertEquals(len(cache), 1)
 
62
 
 
63
        cache["b"] = 2
 
64
        self.assertEquals(len(cache), 2)
 
65
 
 
66
    def test_sizeZero(self):
 
67
        cache = LRUCache(0)
 
68
        cache["a"] = 1
 
69
        self.assertTrue("a" not in cache)
 
70
 
 
71
    def test_sizeOne(self):
 
72
        cache = LRUCache(1)
 
73
        cache["a"] = 1
 
74
        self.assertTrue("a" in cache)
 
75
 
 
76
        cache["b"] = 2
 
77
        self.assertTrue("b" in cache)
 
78
        self.assertTrue("a" not in cache)
 
79
 
 
80
        cache["a"] = 1
 
81
        self.assertTrue("a" in cache)
 
82
        self.assertTrue("b" not in cache)
 
83
 
 
84
 
 
85
def test_suite():
 
86
    return defaultTestLoader.loadTestsFromName(__name__)