~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_graph.py

  • Committer: Aaron Bentley
  • Date: 2008-12-10 19:40:42 UTC
  • mto: This revision was merged to the branch mainline in revision 3892.
  • Revision ID: aaron@aaronbentley.com-20081210194042-3x07buw2h4g8x9hs
Updates from review

Show diffs side-by-side

added added

removed removed

Lines of Context:
1379
1379
 
1380
1380
    def test_get_parent_map(self):
1381
1381
        """Requesting the same revision should be returned from cache"""
1382
 
        self.assertEqual({}, self.caching_pp.get_cached_map())
 
1382
        self.assertEqual({}, self.caching_pp._cache)
1383
1383
        self.assertEqual({'a':('b',)}, self.caching_pp.get_parent_map(['a']))
1384
1384
        self.assertEqual(['a'], self.inst_pp.calls)
1385
1385
        self.assertEqual({'a':('b',)}, self.caching_pp.get_parent_map(['a']))
1386
1386
        # No new call, as it should have been returned from the cache
1387
1387
        self.assertEqual(['a'], self.inst_pp.calls)
1388
 
        self.assertEqual({'a':('b',)}, self.caching_pp.get_cached_map())
 
1388
        self.assertEqual({'a':('b',)}, self.caching_pp._cache)
1389
1389
 
1390
1390
    def test_get_parent_map_not_present(self):
1391
1391
        """The cache should also track when a revision doesn't exist"""
1394
1394
        self.assertEqual({}, self.caching_pp.get_parent_map(['b']))
1395
1395
        # No new calls
1396
1396
        self.assertEqual(['b'], self.inst_pp.calls)
1397
 
        self.assertEqual({'b':None}, self.caching_pp._parents_map)
 
1397
        self.assertEqual({'b':None}, self.caching_pp._cache)
1398
1398
 
1399
1399
    def test_get_parent_map_mixed(self):
1400
1400
        """Anything that can be returned from cache, should be"""
1414
1414
 
1415
1415
 
1416
1416
class TestCachingParentsProviderExtras(tests.TestCaseWithTransport):
 
1417
    """Test the behaviour when parents are provided that were not requested."""
1417
1418
 
1418
1419
    def setUp(self):
1419
1420
        super(TestCachingParentsProviderExtras, self).setUp()
1431
1432
        self.assertEqual({'rev1': []},
1432
1433
                         self.caching_pp.get_parent_map(['rev1']))
1433
1434
        self.assertEqual(['rev1'], self.inst_pp.calls)
1434
 
        self.assertIs(None, self.caching_pp.get_cached_map())
 
1435
        self.assertIs(None, self.caching_pp._cache)
 
1436
 
 
1437
    def test_cache_initially_empty(self):
 
1438
        self.assertEqual({}, self.caching_pp._cache)
1435
1439
 
1436
1440
    def test_cached(self):
1437
 
        self.assertEqual({}, self.caching_pp.get_cached_map())
1438
1441
        self.assertEqual({'rev1': []},
1439
1442
                         self.caching_pp.get_parent_map(['rev1']))
1440
1443
        self.assertEqual(['rev1'], self.inst_pp.calls)
1441
1444
        self.assertEqual({'rev1': [], 'rev2': ['rev1']},
1442
 
                         self.caching_pp.get_cached_map())
 
1445
                         self.caching_pp._cache)
1443
1446
        self.assertEqual({'rev1': []},
1444
1447
                          self.caching_pp.get_parent_map(['rev1']))
1445
1448
        self.assertEqual(['rev1'], self.inst_pp.calls)
 
1449
 
 
1450
    def test_disable_cache_clears_cache(self):
 
1451
        # Put something in the cache
 
1452
        self.caching_pp.get_parent_map(['rev1'])
 
1453
        self.assertEqual(2, len(self.caching_pp._cache))
1446
1454
        self.caching_pp.disable_cache()
1447
 
        self.assertIs(None, self.caching_pp.get_cached_map())
 
1455
        self.assertIs(None, self.caching_pp._cache)
1448
1456
 
1449
1457
    def test_cache_misses(self):
1450
 
        self.assertEqual({}, self.caching_pp.get_cached_map())
1451
1458
        self.caching_pp.get_parent_map(['rev3'])
1452
1459
        self.caching_pp.get_parent_map(['rev3'])
1453
1460
        self.assertEqual(['rev3'], self.inst_pp.calls)