~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/selftest/test_weave.py

  • Committer: Martin Pool
  • Date: 2005-10-05 03:46:56 UTC
  • mto: (1185.13.3)
  • mto: This revision was merged to the branch mainline in revision 1403.
  • Revision ID: mbp@sourcefrog.net-20051005034656-cefbc4b61764a895
- more development of Weave.join()

Show diffs side-by-side

added added

removed removed

Lines of Context:
794
794
 
795
795
 
796
796
class JoinWeavesTests(TestBase):
 
797
    def setUp(self):
 
798
        super(JoinWeavesTests, self).setUp()
 
799
        self.weave1 = Weave()
 
800
        self.lines1 = ['hello\n']
 
801
        self.lines3 = ['hello\n', 'cruel\n', 'world\n']
 
802
        self.weave1.add('v1', [], self.lines1)
 
803
        self.weave1.add('v2', [0], ['hello\n', 'world\n'])
 
804
        self.weave1.add('v3', [1], self.lines3)
 
805
        
797
806
    def test_join_empty(self):
798
807
        """Join two empty weaves."""
799
808
        eq = self.assertEqual
802
811
        w1.join(w2)
803
812
        eq(w1.numversions(), 0)
804
813
        
805
 
 
806
 
 
 
814
    def test_join_empty_to_nonempty(self):
 
815
        """Join empty weave onto nonempty."""
 
816
        self.weave1.join(Weave())
 
817
        self.assertEqual(len(self.weave1), 3)
 
818
 
 
819
    def test_join_unrelated(self):
 
820
        """Join two weaves with no history in common."""
 
821
        wb = Weave()
 
822
        wb.add('b1', [], ['line from b\n'])
 
823
        w1 = self.weave1
 
824
        w1.join(wb)
 
825
        eq = self.assertEqual
 
826
        eq(len(w1), 4)
 
827
        eq(sorted(list(w1.iter_names())),
 
828
           ['b1', 'v1', 'v2', 'v3'])
807
829
 
808
830
 
809
831
if __name__ == '__main__':