~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_revision.py

  • Committer: Aaron Bentley
  • Date: 2006-03-07 05:59:14 UTC
  • mfrom: (1558.1.20 Aaron's integration)
  • mto: This revision was merged to the branch mainline in revision 1595.
  • Revision ID: aaron.bentley@utoronto.ca-20060307055914-a88728997afceb90
MergeĀ fromĀ mainline

Show diffs side-by-side

added added

removed removed

Lines of Context:
211
211
class TestCommonAncestor(TestCaseWithTransport):
212
212
    """Test checking whether a revision is an ancestor of another revision"""
213
213
 
214
 
    def test_old_common_ancestor(self):
215
 
        """Pick a resonable merge base using the old functionality"""
216
 
        from bzrlib.revision import old_common_ancestor as common_ancestor
217
 
        br1, br2 = make_branches(self)
218
 
        revisions = br1.revision_history()
219
 
        revisions_2 = br2.revision_history()
220
 
        sources = br1.repository
221
 
 
222
 
        expected_ancestors_list = {revisions[3]:(0, 0), 
223
 
                                   revisions[2]:(1, 1),
224
 
                                   revisions_2[4]:(2, 1), 
225
 
                                   revisions[1]:(3, 2),
226
 
                                   revisions_2[3]:(4, 2),
227
 
                                   revisions[0]:(5, 3) }
228
 
        ancestors_list = find_present_ancestors(revisions[3], sources)
229
 
        self.assertEquals(len(expected_ancestors_list), len(ancestors_list))
230
 
        for key, value in expected_ancestors_list.iteritems():
231
 
            self.assertEqual(ancestors_list[key], value, 
232
 
                              "key %r, %r != %r" % (key, ancestors_list[key],
233
 
                                                    value))
234
 
 
235
 
        self.assertEqual(common_ancestor(revisions[0], revisions[0], sources),
236
 
                          revisions[0])
237
 
        self.assertEqual(common_ancestor(revisions[1], revisions[2], sources),
238
 
                          revisions[1])
239
 
        self.assertEqual(common_ancestor(revisions[1], revisions[1], sources),
240
 
                          revisions[1])
241
 
        self.assertEqual(common_ancestor(revisions[2], revisions_2[4], sources),
242
 
                          revisions[2])
243
 
        self.assertEqual(common_ancestor(revisions[3], revisions_2[4], sources),
244
 
                          revisions_2[4])
245
 
        self.assertEqual(common_ancestor(revisions[4], revisions_2[5], sources),
246
 
                          revisions_2[4])
247
 
        br1.fetch(br2)
248
 
        self.assertEqual(common_ancestor(revisions[5], revisions_2[6], sources),
249
 
                          revisions[4]) # revisions_2[5] is equally valid
250
 
        self.assertEqual(common_ancestor(revisions_2[6], revisions[5], sources),
251
 
                          revisions_2[5])
252
 
 
253
214
    def test_common_ancestor(self):
254
215
        """Pick a reasonable merge base"""
255
216
        from bzrlib.revision import common_ancestor
281
242
                          revisions_2[4])
282
243
        self.assertEqual(common_ancestor(revisions[4], revisions_2[5], sources),
283
244
                          revisions_2[4])
284
 
        self.assertEqual(common_ancestor(revisions[5], revisions_2[6], sources),
285
 
                          revisions[4]) # revisions_2[5] is equally valid
286
 
        self.assertEqual(common_ancestor(revisions_2[6], revisions[5], sources),
287
 
                          revisions[4]) # revisions_2[5] is equally valid
 
245
        self.assertTrue(common_ancestor(revisions[5], revisions_2[6], sources) in
 
246
                        (revisions[4], revisions_2[5]))
 
247
        self.assertTrue(common_ancestor(revisions_2[6], revisions[5], sources),
 
248
                        (revisions[4], revisions_2[5]))
 
249
        self.assertEqual(None, common_ancestor(None, revisions[5], sources))
288
250
 
289
251
    def test_combined(self):
290
252
        """combined_graph