/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 tools/testweave.py

  • Committer: Martin Pool
  • Date: 2005-07-18 11:23:40 UTC
  • Revision ID: mbp@sourcefrog.net-20050718112340-4ffbfa3624bb6ef3
- weavebench should set random seed to make it reproducible

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
from bzrlib.weave import Weave, WeaveFormatError
27
27
from bzrlib.weavefile import write_weave, read_weave
28
28
from pprint import pformat
 
29
from bzrlib.intset import IntSet
29
30
 
30
31
 
31
32
try:
110
111
    def runTest(self):
111
112
        k = Weave()
112
113
 
113
 
        self.assertRaises(IndexError,
 
114
        self.assertRaises(ValueError,
114
115
                          k.add,
115
116
                          [69],
116
117
                          ['new text!'])
148
149
        k.add([0, 1],
149
150
              text3)
150
151
 
151
 
        # self.log("changes to text3: " + pformat(list(k._delta(set([0, 1]), text3))))
 
152
        self.log("changes to text3: " + pformat(list(k._delta(set([0, 1]), text3))))
152
153
 
153
 
        self.log("k._weave=" + pformat(k._weave))
 
154
        self.log("k._l=" + pformat(k._l))
154
155
 
155
156
        self.assertEqual(k.annotate(3),
156
157
                         [(0, 'line 1'),
192
193
            ver = k.add([0], t)
193
194
 
194
195
        self.log('final weave:')
195
 
        self.log('k._weave=' + pformat(k._weave))
 
196
        self.log('k._l=' + pformat(k._l))
196
197
 
197
198
        for i in range(len(texts)):
198
199
            self.assertEqual(k.get(i+1),
206
207
    def runTest(self):
207
208
        k = Weave()
208
209
 
209
 
        k._parents = [(),
 
210
        k._v = [(),
210
211
                ]
211
 
        k._weave = [('{', 0),
 
212
        k._l = [('{', 0),
212
213
                'first line',
213
214
                ('[', 0),
214
215
                'deleted in 0',
230
231
    def runTest(self):
231
232
        k = Weave()
232
233
 
233
 
        k._parents = [(),
 
234
        k._v = [(),
234
235
                frozenset([0]),
235
236
                ]
236
 
        k._weave = [('{', 0),
 
237
        k._l = [('{', 0),
237
238
                'first line',
238
239
                ('[', 1),
239
240
                'line to be deleted',
260
261
    def runTest(self):
261
262
        k = Weave()
262
263
 
263
 
        k._parents = [frozenset(),
 
264
        k._v = [frozenset(),
264
265
                frozenset([0]),
265
266
                ]
266
 
        k._weave = [('{', 0),
 
267
        k._l = [('{', 0),
267
268
                'first line',
268
269
                ('[', 1),
269
270
                'line to be deleted',
294
295
    def runTest(self):
295
296
        k = Weave()
296
297
 
297
 
        k._parents = [frozenset(),
 
298
        k._v = [frozenset(),
298
299
                ]
299
 
        k._weave = ['bad line',
 
300
        k._l = ['bad line',
300
301
                ('{', 0),
301
302
                'foo {',
302
303
                ('{', 1),
324
325
    def runTest(self):
325
326
        k = Weave()
326
327
 
327
 
        k._parents = [frozenset(),
 
328
        k._v = [frozenset(),
328
329
                frozenset([0]),
329
330
                frozenset([0]),
330
331
                frozenset([0,1,2]),
331
332
                ]
332
 
        k._weave = [('{', 0),
 
333
        k._l = [('{', 0),
333
334
                'foo {',
334
335
                ('{', 1),
335
336
                '  added in version 1',
357
358
    def runTest(self):
358
359
        k = Weave()
359
360
 
360
 
        k._parents = [frozenset(),
 
361
        k._v = [frozenset(),
361
362
                frozenset([0]),
362
363
                frozenset([0]),
363
364
                frozenset([0,1,2]),
364
365
                ]
365
 
        k._weave = [('{', 0),
 
366
        k._l = [('{', 0),
366
367
                'foo {',
367
368
                ('{', 1),
368
369
                '  added in version 1',
439
440
    def runTest(self):
440
441
        k = Weave()
441
442
 
442
 
        k._parents = [frozenset(), frozenset([0])]
443
 
        k._weave = [('{', 0),
 
443
        k._v = [frozenset(), frozenset([0])]
 
444
        k._l = [('{', 0),
444
445
                "first line",
445
446
                ('}', 0),
446
447
                ('{', 1),
463
464
    def runTest(self):
464
465
        k = Weave()
465
466
 
466
 
        k._parents = [frozenset(),
 
467
        k._v = [frozenset(),
467
468
                frozenset([0]),
468
469
                frozenset([0]),
469
470
                ]
470
 
        k._weave = [('{', 0),
 
471
        k._l = [('{', 0),
471
472
                "first line",
472
473
                ('}', 0),
473
474
                ('{', 1),
504
505
        k.add([], text0)
505
506
        k.add([0], text1)
506
507
 
507
 
        self.log('k._weave=' + pformat(k._weave))
 
508
        self.log('k._l=' + pformat(k._l))
508
509
 
509
510
        self.assertEqual(k.get(0), text0)
510
511
        self.assertEqual(k.get(1), text1)
541
542
        self.assertEqual(list(k.inclusions([3])),
542
543
                         [0, 1, 2, 3])
543
544
 
544
 
        self.log('k._weave=' + pformat(k._weave))
 
545
        self.log('k._l=' + pformat(k._l))
545
546
 
546
547
        self.check_read_write(k)
547
548
 
597
598
        k.add([0], texts[1])
598
599
        k.add([0], texts[2])
599
600
 
600
 
        self.log('k._weave=' + pformat(k._weave))
 
601
        self.log('k._l=' + pformat(k._l))
601
602
 
602
603
        m = list(k.mash_iter([0, 1, 2]))
603
604
 
645
646
            ver = k.add(list(parents), t)
646
647
            parents.add(ver)
647
648
 
648
 
        self.log("k._weave=" + pformat(k._weave))
 
649
        self.log("k._l=" + pformat(k._l))
649
650
 
650
651
        for i, t in enumerate(texts):
651
652
            self.assertEqual(k.get(i), t)
732
733
                     ['aaa'],
733
734
                     ['yyy', 'zzz'],
734
735
                     ['yyy', 'zzz'])
735
 
 
736
 
 
737
 
    def testDeleteAndModify(self):
738
 
        """Clashing delete and modification.
739
 
 
740
 
        If one side modifies a region and the other deletes it then
741
 
        there should be a conflict with one side blank.
742
 
        """
743
 
 
744
 
        #######################################
745
 
        # skippd, not working yet
746
 
        return
747
 
        
748
 
        self.doMerge(['aaa', 'bbb', 'ccc'],
749
 
                     ['aaa', 'ddd', 'ccc'],
750
 
                     ['aaa', 'ccc'],
751
 
                     ['<<<<', 'aaa', '====', '>>>>', 'ccc'])
752
736
    
753
737
 
754
738
 
756
740
    import testsweet
757
741
    from unittest import TestSuite, TestLoader
758
742
    import testweave
759
 
 
 
743
 
760
744
    tl = TestLoader()
761
745
    suite = TestSuite()
762
746
    suite.addTest(tl.loadTestsFromModule(testweave))