/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 bzrlib/tests/test_graph.py

  • Committer: John Arbash Meinel
  • Date: 2008-05-22 22:02:57 UTC
  • mto: This revision was merged to the branch mainline in revision 3460.
  • Revision ID: john@arbash-meinel.com-20080522220257-z3cnrx690d6ue4oz
Change the function to be called 'find_distance_to_null'

Show diffs side-by-side

added added

removed removed

Lines of Context:
1253
1253
            ['h', 'i', 'j', 'y'], 'j', ['z'])
1254
1254
 
1255
1255
 
1256
 
class TestGraphFindRevno(TestGraphBase):
 
1256
class TestGraphFindDistanceToNull(TestGraphBase):
1257
1257
    """Test an api that should be able to compute a revno"""
1258
1258
 
1259
 
    def assertFindRevno(self, revno, graph, target_id, known_ids):
1260
 
        """Assert the output of Graph.find_revno()"""
1261
 
        actual = graph.find_revno(target_id, known_ids)
 
1259
    def assertFindDistance(self, revno, graph, target_id, known_ids):
 
1260
        """Assert the output of Graph.find_distance_to_null()"""
 
1261
        actual = graph.find_distance_to_null(target_id, known_ids)
1262
1262
        self.assertEqual(revno, actual)
1263
1263
 
1264
1264
    def test_nothing_known(self):
1265
1265
        graph = self.make_graph(ancestry_1)
1266
 
        self.assertFindRevno(0, graph, NULL_REVISION, [])
1267
 
        self.assertFindRevno(1, graph, 'rev1', [])
1268
 
        self.assertFindRevno(2, graph, 'rev2a', [])
1269
 
        self.assertFindRevno(2, graph, 'rev2b', [])
1270
 
        self.assertFindRevno(3, graph, 'rev3', [])
1271
 
        self.assertFindRevno(4, graph, 'rev4', [])
 
1266
        self.assertFindDistance(0, graph, NULL_REVISION, [])
 
1267
        self.assertFindDistance(1, graph, 'rev1', [])
 
1268
        self.assertFindDistance(2, graph, 'rev2a', [])
 
1269
        self.assertFindDistance(2, graph, 'rev2b', [])
 
1270
        self.assertFindDistance(3, graph, 'rev3', [])
 
1271
        self.assertFindDistance(4, graph, 'rev4', [])
1272
1272
 
1273
1273
    def test_rev_is_ghost(self):
1274
1274
        graph = self.make_graph(ancestry_1)
1275
1275
        e = self.assertRaises(errors.GhostRevisionsHaveNoRevno,
1276
 
                              graph.find_revno, 'rev_missing', [])
 
1276
                              graph.find_distance_to_null, 'rev_missing', [])
1277
1277
        self.assertEqual('rev_missing', e.revision_id)
1278
1278
        self.assertEqual('rev_missing', e.ghost_revision_id)
1279
1279
 
1280
1280
    def test_ancestor_is_ghost(self):
1281
1281
        graph = self.make_graph({'rev':['parent']})
1282
1282
        e = self.assertRaises(errors.GhostRevisionsHaveNoRevno,
1283
 
                              graph.find_revno, 'rev', [])
 
1283
                              graph.find_distance_to_null, 'rev', [])
1284
1284
        self.assertEqual('rev', e.revision_id)
1285
1285
        self.assertEqual('parent', e.ghost_revision_id)
1286
1286
 
1287
1287
    def test_known_in_ancestry(self):
1288
1288
        graph = self.make_graph(ancestry_1)
1289
 
        self.assertFindRevno(2, graph, 'rev2a', [('rev1', 1)])
1290
 
        self.assertFindRevno(3, graph, 'rev3', [('rev2a', 2)])
 
1289
        self.assertFindDistance(2, graph, 'rev2a', [('rev1', 1)])
 
1290
        self.assertFindDistance(3, graph, 'rev3', [('rev2a', 2)])
1291
1291
 
1292
1292
    def test_known_in_ancestry_limits(self):
1293
1293
        graph = self.make_breaking_graph(ancestry_1, ['rev1'])
1294
 
        self.assertFindRevno(4, graph, 'rev4', [('rev3', 3)])
 
1294
        self.assertFindDistance(4, graph, 'rev4', [('rev3', 3)])
1295
1295
 
1296
1296
    def test_target_is_ancestor(self):
1297
1297
        graph = self.make_graph(ancestry_1)
1298
 
        self.assertFindRevno(2, graph, 'rev2a', [('rev3', 3)])
 
1298
        self.assertFindDistance(2, graph, 'rev2a', [('rev3', 3)])
1299
1299
 
1300
1300
    def test_target_is_ancestor_limits(self):
1301
1301
        """We shouldn't search all history if we run into ourselves"""
1302
1302
        graph = self.make_breaking_graph(ancestry_1, ['rev1'])
1303
 
        self.assertFindRevno(3, graph, 'rev3', [('rev4', 4)])
 
1303
        self.assertFindDistance(3, graph, 'rev3', [('rev4', 4)])
1304
1304
 
1305
1305
    def test_target_parallel_to_known_limits(self):
1306
1306
        # Even though the known revision isn't part of the other ancestry, the
1307
1307
        # eventually converge
1308
1308
        graph = self.make_breaking_graph(with_tail, ['a'])
1309
 
        self.assertFindRevno(6, graph, 'f', [('g', 6)])
1310
 
        self.assertFindRevno(7, graph, 'h', [('g', 6)])
1311
 
        self.assertFindRevno(8, graph, 'i', [('g', 6)])
1312
 
        self.assertFindRevno(6, graph, 'g', [('i', 8)])
 
1309
        self.assertFindDistance(6, graph, 'f', [('g', 6)])
 
1310
        self.assertFindDistance(7, graph, 'h', [('g', 6)])
 
1311
        self.assertFindDistance(8, graph, 'i', [('g', 6)])
 
1312
        self.assertFindDistance(6, graph, 'g', [('i', 8)])
1313
1313
 
1314
1314
 
1315
1315
class TestCachingParentsProvider(tests.TestCase):