~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_weave.py

Merge from bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
39
39
 
40
40
 
41
41
class TestBase(TestCase):
 
42
 
42
43
    def check_read_write(self, k):
43
44
        """Check the weave k can be written & re-read."""
44
45
        from tempfile import TemporaryFile
75
76
        k = Weave()
76
77
 
77
78
 
78
 
class StoreText(TestBase):
79
 
    """Store and retrieve a simple text."""
80
 
 
81
 
    def test_storing_text(self):
82
 
        k = Weave()
83
 
        idx = k.add_lines('text0', [], TEXT_0)
84
 
        self.assertEqual(k.get_lines(idx), TEXT_0)
85
 
        self.assertEqual(idx, 0)
86
 
 
87
 
 
88
79
class AnnotateOne(TestBase):
89
80
    def runTest(self):
90
81
        k = Weave()
93
84
                         [('text0', TEXT_0[0])])
94
85
 
95
86
 
96
 
class StoreTwo(TestBase):
97
 
    def runTest(self):
98
 
        k = Weave()
99
 
 
100
 
        idx = k.add_lines('text0', [], TEXT_0)
101
 
        self.assertEqual(idx, 0)
102
 
 
103
 
        idx = k.add_lines('text1', [], TEXT_1)
104
 
        self.assertEqual(idx, 1)
105
 
 
106
 
        self.assertEqual(k.get_lines(0), TEXT_0)
107
 
        self.assertEqual(k.get_lines(1), TEXT_1)
108
 
 
109
 
 
110
87
class GetSha1(TestBase):
111
88
    def test_get_sha1(self):
112
89
        k = Weave()
133
110
 
134
111
class RepeatedAdd(TestBase):
135
112
    """Add the same version twice; harmless."""
136
 
    def runTest(self):
 
113
 
 
114
    def test_duplicate_add(self):
137
115
        k = Weave()
138
116
        idx = k.add_lines('text0', [], TEXT_0)
139
117
        idx2 = k.add_lines('text0', [], TEXT_0)
729
707
        eq(wa.get_lines('b1'),
730
708
           ['hello\n', 'pale blue\n', 'world\n'])
731
709
 
732
 
    def test_join_parent_disagreement(self):
733
 
        #join reconciles differening parents into a union.
734
 
        wa = Weave()
735
 
        wb = Weave()
736
 
        wa.add_lines('v1', [], ['hello\n'])
737
 
        wb.add_lines('v0', [], [])
738
 
        wb.add_lines('v1', ['v0'], ['hello\n'])
739
 
        wa.join(wb)
740
 
        self.assertEqual(['v0'], wa.get_parents('v1'))
741
 
 
742
710
    def test_join_text_disagreement(self):
743
711
        """Cannot join weaves with different texts for a version."""
744
712
        wa = Weave()