/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/tests/test_fifo_cache.py

  • Committer: Jelmer Vernooij
  • Date: 2020-07-05 12:50:01 UTC
  • mfrom: (7490.40.46 work)
  • mto: (7490.40.48 work)
  • mto: This revision was merged to the branch mainline in revision 7519.
  • Revision ID: jelmer@jelmer.uk-20200705125001-7s3vo0p55szbbws7
Merge lp:brz/3.1.

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
    fifo_cache,
21
21
    tests,
22
22
    )
 
23
from ..sixish import (
 
24
    viewitems,
 
25
    viewkeys,
 
26
    viewvalues,
 
27
    )
23
28
 
24
29
 
25
30
class TestFIFOCache(tests.TestCase):
34
39
        self.assertEqual(2, c.get(1))
35
40
        self.assertEqual(2, c.get(1, None))
36
41
        self.assertEqual([1], list(c))
37
 
        self.assertEqual({1}, c.keys())
38
 
        self.assertEqual([(1, 2)], sorted(c.items()))
39
 
        self.assertEqual([2], sorted(c.values()))
 
42
        self.assertEqual({1}, viewkeys(c))
 
43
        self.assertEqual([(1, 2)], sorted(viewitems(c)))
 
44
        self.assertEqual([2], sorted(viewvalues(c)))
40
45
        self.assertEqual({1: 2}, c)
41
46
 
42
47
    def test_cache_size(self):
53
58
        self.assertEqual(None, c.get(1))
54
59
        self.assertEqual(None, c.get(1, None))
55
60
        self.assertEqual([], list(c))
56
 
        self.assertEqual(set(), c.keys())
57
 
        self.assertEqual([], list(c.items()))
58
 
        self.assertEqual([], list(c.values()))
 
61
        self.assertEqual(set(), viewkeys(c))
 
62
        self.assertEqual([], list(viewitems(c)))
 
63
        self.assertEqual([], list(viewvalues(c)))
59
64
        self.assertEqual({}, c)
60
65
 
61
66
    def test_add_maintains_fifo(self):
64
69
        c[2] = 3
65
70
        c[3] = 4
66
71
        c[4] = 5
67
 
        self.assertEqual({1, 2, 3, 4}, c.keys())
 
72
        self.assertEqual({1, 2, 3, 4}, viewkeys(c))
68
73
        c[5] = 6
69
74
        # This should pop out the oldest entry
70
 
        self.assertEqual({2, 3, 4, 5}, c.keys())
 
75
        self.assertEqual({2, 3, 4, 5}, viewkeys(c))
71
76
        # Replacing an item doesn't change the stored keys
72
77
        c[2] = 7
73
 
        self.assertEqual({2, 3, 4, 5}, c.keys())
 
78
        self.assertEqual({2, 3, 4, 5}, viewkeys(c))
74
79
        # But it does change the position in the FIFO
75
80
        c[6] = 7
76
 
        self.assertEqual({2, 4, 5, 6}, c.keys())
 
81
        self.assertEqual({2, 4, 5, 6}, viewkeys(c))
77
82
        self.assertEqual([4, 5, 2, 6], list(c._queue))
78
83
 
79
84
    def test_default_after_cleanup_count(self):
85
90
        c[4] = 5
86
91
        c[5] = 6
87
92
        # So far, everything fits
88
 
        self.assertEqual({1, 2, 3, 4, 5}, c.keys())
 
93
        self.assertEqual({1, 2, 3, 4, 5}, viewkeys(c))
89
94
        c[6] = 7
90
95
        # But adding one more should shrink down to after_cleanup_count
91
 
        self.assertEqual({3, 4, 5, 6}, c.keys())
 
96
        self.assertEqual({3, 4, 5, 6}, viewkeys(c))
92
97
 
93
98
    def test_clear(self):
94
99
        c = fifo_cache.FIFOCache(5)
98
103
        c[4] = 5
99
104
        c[5] = 6
100
105
        c.cleanup()
101
 
        self.assertEqual({2, 3, 4, 5}, c.keys())
 
106
        self.assertEqual({2, 3, 4, 5}, viewkeys(c))
102
107
        c.clear()
103
 
        self.assertEqual(set(), c.keys())
 
108
        self.assertEqual(set(), viewkeys(c))
104
109
        self.assertEqual([], list(c._queue))
105
110
        self.assertEqual({}, c)
106
111
 
245
250
        self.assertEqual('2', c.get(1))
246
251
        self.assertEqual('2', c.get(1, None))
247
252
        self.assertEqual([1], list(c))
248
 
        self.assertEqual({1}, c.keys())
249
 
        self.assertEqual([(1, '2')], sorted(c.items()))
250
 
        self.assertEqual(['2'], sorted(c.values()))
 
253
        self.assertEqual({1}, viewkeys(c))
 
254
        self.assertEqual([(1, '2')], sorted(viewitems(c)))
 
255
        self.assertEqual(['2'], sorted(viewvalues(c)))
251
256
        self.assertEqual({1: '2'}, c)
252
257
        self.assertEqual(1024 * 1024, c.cache_size())
253
258
 
259
264
        self.assertEqual(None, c.get(1))
260
265
        self.assertEqual(None, c.get(1, None))
261
266
        self.assertEqual([], list(c))
262
 
        self.assertEqual(set(), c.keys())
263
 
        self.assertEqual([], list(c.items()))
264
 
        self.assertEqual([], list(c.values()))
 
267
        self.assertEqual(set(), viewkeys(c))
 
268
        self.assertEqual([], list(viewitems(c)))
 
269
        self.assertEqual([], list(viewvalues(c)))
265
270
        self.assertEqual({}, c)
266
271
 
267
272
    def test_add_maintains_fifo(self):