Rev 5102: Add .memos() as a public api for getting the list of items. in http://bzr.arbash-meinel.com/branches/bzr/lp/2.2.0b2-contained-pack

John Arbash Meinel john at arbash-meinel.com
Mon Mar 8 22:10:02 GMT 2010


At http://bzr.arbash-meinel.com/branches/bzr/lp/2.2.0b2-contained-pack

------------------------------------------------------------
revno: 5102
revision-id: john at arbash-meinel.com-20100308220957-ula2lqzc7dtqkur8
parent: john at arbash-meinel.com-20100308215925-or3lq7hnateakrju
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: 2.2.0b2-contained-pack
timestamp: Mon 2010-03-08 16:09:57 -0600
message:
  Add .memos() as a public api for getting the list of items.
-------------- next part --------------
=== modified file 'bzrlib/pack_collection.py'
--- a/bzrlib/pack_collection.py	2010-03-08 21:59:25 +0000
+++ b/bzrlib/pack_collection.py	2010-03-08 22:09:57 +0000
@@ -330,6 +330,10 @@
         assert old == value
         self.update_policy.memo_removed(name, value)
 
+    def memos(self):
+        """Return a list of (name, value) memo pairs."""
+        return self._memos.items()
+
     def save(self):
         """Save the current in-memory content to disk."""
         self.locking_policy.lock_write()

=== modified file 'bzrlib/tests/test_pack_collection.py'
--- a/bzrlib/tests/test_pack_collection.py	2010-03-08 21:59:25 +0000
+++ b/bzrlib/tests/test_pack_collection.py	2010-03-08 22:09:57 +0000
@@ -186,7 +186,7 @@
         # Shouldn't raise an exception, but just set up that there isn't any
         # content
         self.assertTrue(self.tracker._ensure_loaded())
-        self.assertEqual({}, self.tracker._memos)
+        self.assertEqual([], sorted(self.tracker.memos()))
         # We should create the file at this time, and it should be a valid
         # index file
         self.tracker.save()
@@ -196,12 +196,11 @@
     def test_add_memo(self):
         self.tracker.add_memo(*self._m1)
         self.assertEqual('content1', self.tracker.get_memo('name1'))
-        self.assertEqual({'name1': 'content1'}, self.tracker._memos)
+        self.assertEqual([self._m1], sorted(self.tracker.memos()))
         self.assertEqual([], sorted(self.tracker._last_read_memos))
         self.tracker.save()
-        self.assertEqual({'name1': 'content1'}, self.tracker._memos)
-        self.assertEqual([('name1', 'content1')],
-                         sorted(self.tracker._last_read_memos))
+        self.assertEqual([self._m1], sorted(self.tracker.memos()))
+        self.assertEqual([self._m1], sorted(self.tracker._last_read_memos))
         btree = btree_index.BTreeGraphIndex(self.transport, 'meta', size=None)
         self.assertEqual(1, btree.key_count())
         self.assertEqual([(('name1',), 'content1')],
@@ -219,21 +218,18 @@
     def test_remove_memo(self):
         self.tracker.add_memo(*self._m1)
         self.tracker.add_memo(*self._m2)
-        self.assertEqual({'name1': 'content1',
-                          'name2': 'content2'}, self.tracker._memos)
+        self.assertEqual([self._m1, self._m2], sorted(self.tracker.memos()))
         self.assertEqual([], sorted(self.tracker._last_read_memos))
         self.tracker.save()
         self.tracker.remove_memo(*self._m2)
-        self.assertEqual([('name1', 'content1'),
-                          ('name2', 'content2'),
-                         ], sorted(self.tracker._last_read_memos))
-        self.assertEqual({'name1': 'content1'}, self.tracker._memos)
+        self.assertEqual([self._m1, self._m2],
+                         sorted(self.tracker._last_read_memos))
+        self.assertEqual([self._m1], sorted(self.tracker.memos()))
         # Before saving, we should have both keys
         btree = btree_index.BTreeGraphIndex(self.transport, 'meta', size=None)
         self.assertEqual(2, btree.key_count())
         self.tracker.save()
-        self.assertEqual([('name1', 'content1')],
-                         sorted(self.tracker._last_read_memos))
+        self.assertEqual([self._m1], sorted(self.tracker._last_read_memos))
         btree = btree_index.BTreeGraphIndex(self.transport, 'meta', size=None)
         self.assertEqual(1, btree.key_count())
 
@@ -254,10 +250,8 @@
         self.tracker.save()
         # When we save, tracker should notice that there was a new entry, and
         # add it to the in-memory data.
-        self.assertEqual({'name1': 'content1',
-                          'name2': 'content2',
-                          'name3': 'content3',
-                         }, self.tracker._memos)
+        self.assertEqual([self._m1, self._m2, self._m3],
+                         sorted(self.tracker.memos()))
         # And the on-disk record should also have all 3
         btree = btree_index.BTreeGraphIndex(self.transport, 'meta', size=None)
         self.assertEqual(3, btree.key_count())
@@ -272,8 +266,7 @@
         self.tracker.save()
         # When we save, tracker should notice that m1 was removed, and remove
         # it from the in-memory structure.
-        self.assertEqual({'name2': 'content2',
-                         }, self.tracker._memos)
+        self.assertEqual([self._m2], sorted(self.tracker.memos()))
         # And the on-disk record should also have all 3
         btree = btree_index.BTreeGraphIndex(self.transport, 'meta', size=None)
         self.assertEqual(1, btree.key_count())
@@ -291,9 +284,7 @@
         self.tracker.save()
         # When we save, tracker should notice that m1 was removed, and remove
         # it from the in-memory structure.
-        self.assertEqual({'name2': 'content2',
-                          'name3': 'content3',
-                         }, self.tracker._memos)
+        self.assertEqual([self._m2, self._m3], sorted(self.tracker.memos()))
         self.assertEqual([('removed', 'name1', 'content1'),
                           ('added', 'name3', 'content3'),
                          ], policy.log)



More information about the bazaar-commits mailing list