~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to testweave.py

  • Committer: Martin Pool
  • Date: 2005-06-28 06:08:12 UTC
  • mto: This revision was merged to the branch mainline in revision 852.
  • Revision ID: mbp@sourcefrog.net-20050628060812-753ced7d8c27fd2c
Rename knit to weave.  (I don't think there's an existing module called weave.)

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 
18
18
 
19
19
 
20
 
"""test case for knit/weave algorithm"""
 
20
"""test suite for weave algorithm"""
21
21
 
22
22
 
23
23
from testsweet import TestBase
24
 
from knit import Knit, VerInfo
 
24
from weave import Weave, VerInfo
25
25
 
26
26
 
27
27
# texts for use in testing
32
32
 
33
33
class Easy(TestBase):
34
34
    def runTest(self):
35
 
        k = Knit()
 
35
        k = Weave()
36
36
 
37
37
 
38
38
class StoreText(TestBase):
39
39
    """Store and retrieve a simple text."""
40
40
    def runTest(self):
41
 
        k = Knit()
 
41
        k = Weave()
42
42
        idx = k.add([], TEXT_0)
43
43
        self.assertEqual(k.get(idx), TEXT_0)
44
44
        self.assertEqual(idx, 0)
47
47
 
48
48
class AnnotateOne(TestBase):
49
49
    def runTest(self):
50
 
        k = Knit()
 
50
        k = Weave()
51
51
        k.add([], TEXT_0)
52
52
        self.assertEqual(k.annotate(0),
53
53
                         [(0, TEXT_0[0])])
55
55
 
56
56
class StoreTwo(TestBase):
57
57
    def runTest(self):
58
 
        k = Knit()
 
58
        k = Weave()
59
59
 
60
60
        idx = k.add([], TEXT_0)
61
61
        self.assertEqual(idx, 0)
75
75
    def runTest(self):
76
76
        from pprint import pformat
77
77
 
78
 
        k = Knit()
 
78
        k = Weave()
79
79
        k.add([], ['line 1'])
80
80
 
81
81
        changes = list(k._delta(set([0]),
100
100
class InvalidAdd(TestBase):
101
101
    """Try to use invalid version number during add."""
102
102
    def runTest(self):
103
 
        k = Knit()
 
103
        k = Weave()
104
104
 
105
105
        self.assertRaises(IndexError,
106
106
                          k.add,
114
114
    Look at the annotations to make sure that the first line is matched
115
115
    and not stored repeatedly."""
116
116
    def runTest(self):
117
 
        k = Knit()
 
117
        k = Weave()
118
118
 
119
119
        k.add([], ['line 1'])
120
120
        k.add([0], ['line 1', 'line 2'])
162
162
    This relies on the weave having a way to represent lines knocked
163
163
    out by a later revision."""
164
164
    def runTest(self):
165
 
        k = Knit()
 
165
        k = Weave()
166
166
 
167
167
        k.add([], ["line the first",
168
168
                   "line 2",
185
185
class IncludeVersions(TestBase):
186
186
    """Check texts that are stored across multiple revisions.
187
187
 
188
 
    Here we manually create a knit with particular encoding and make
 
188
    Here we manually create a weave with particular encoding and make
189
189
    sure it unpacks properly.
190
190
 
191
191
    Text 0 includes nothing; text 1 includes text 0 and adds some
193
193
    """
194
194
 
195
195
    def runTest(self):
196
 
        k = Knit()
 
196
        k = Weave()
197
197
 
198
198
        k._v = [VerInfo(), VerInfo(included=[0])]
199
199
        k._l = [(0, "first line"),
210
210
 
211
211
 
212
212
class DivergedIncludes(TestBase):
213
 
    """Knit with two diverged texts based on version 0.
 
213
    """Weave with two diverged texts based on version 0.
214
214
    """
215
215
    def runTest(self):
216
 
        k = Knit()
 
216
        k = Weave()
217
217
 
218
218
        k._v = [VerInfo(),
219
219
                VerInfo(included=[0]),
234
234
                         ["first line",
235
235
                          "alternative second line"])
236
236
 
237
 
def testknit():
 
237
def testweave():
238
238
    import testsweet
239
239
    from unittest import TestSuite, TestLoader
240
 
    import testknit
 
240
    import testweave
241
241
 
242
242
    tl = TestLoader()
243
243
    suite = TestSuite()
244
 
    suite.addTest(tl.loadTestsFromModule(testknit))
 
244
    suite.addTest(tl.loadTestsFromModule(testweave))
245
245
    
246
246
    return int(not testsweet.run_suite(suite)) # for shell 0=true
247
247
 
248
248
 
249
249
if __name__ == '__main__':
250
250
    import sys
251
 
    sys.exit(testknit())
 
251
    sys.exit(testweave())
252
252