~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_knit.py

  • Committer: John Arbash Meinel
  • Date: 2006-05-10 19:59:55 UTC
  • mfrom: (1704 +trunk)
  • mto: This revision was merged to the branch mainline in revision 1752.
  • Revision ID: john@arbash-meinel.com-20060510195955-df080afb1daa3a96
[merge] bzr.dev 1704

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
 
22
22
 
23
23
from bzrlib.errors import KnitError, RevisionAlreadyPresent
24
 
from bzrlib.knit import KnitVersionedFile, KnitPlainFactory, KnitAnnotateFactory
 
24
from bzrlib.knit import (
 
25
    KnitVersionedFile,
 
26
    KnitPlainFactory,
 
27
    KnitAnnotateFactory,
 
28
    WeaveToKnit)
25
29
from bzrlib.osutils import split_lines
26
 
from bzrlib.tests import TestCaseInTempDir
 
30
from bzrlib.tests import TestCaseWithTransport
27
31
from bzrlib.transport import TransportLogger, get_transport
28
32
from bzrlib.transport.memory import MemoryTransport
29
 
 
30
 
 
31
 
class KnitTests(TestCaseInTempDir):
32
 
 
33
 
    def add_stock_one_and_one_a(self, k):
34
 
        k.add_lines('text-1', [], split_lines(TEXT_1))
35
 
        k.add_lines('text-1a', ['text-1'], split_lines(TEXT_1A))
36
 
 
37
 
    def test_knit_constructor(self):
38
 
        """Construct empty k"""
39
 
        self.make_test_knit()
 
33
from bzrlib.weave import Weave
 
34
 
 
35
 
 
36
class KnitTests(TestCaseWithTransport):
 
37
    """Class containing knit test helper routines."""
40
38
 
41
39
    def make_test_knit(self, annotate=False):
42
40
        if not annotate:
45
43
            factory = None
46
44
        return KnitVersionedFile('test', get_transport('.'), access_mode='w', factory=factory, create=True)
47
45
 
 
46
 
 
47
class BasicKnitTests(KnitTests):
 
48
 
 
49
    def add_stock_one_and_one_a(self, k):
 
50
        k.add_lines('text-1', [], split_lines(TEXT_1))
 
51
        k.add_lines('text-1a', ['text-1'], split_lines(TEXT_1A))
 
52
 
 
53
    def test_knit_constructor(self):
 
54
        """Construct empty k"""
 
55
        self.make_test_knit()
 
56
 
48
57
    def test_knit_add(self):
49
58
        """Store one text in knit and retrieve"""
50
59
        k = self.make_test_knit()
464
473
        i = i + c
465
474
        offset = offset + (b - a) + c
466
475
    return out
 
476
 
 
477
 
 
478
class TestWeaveToKnit(KnitTests):
 
479
 
 
480
    def test_weave_to_knit_matches(self):
 
481
        # check that the WeaveToKnit is_compatible function
 
482
        # registers True for a Weave to a Knit.
 
483
        w = Weave()
 
484
        k = self.make_test_knit()
 
485
        self.failUnless(WeaveToKnit.is_compatible(w, k))
 
486
        self.failIf(WeaveToKnit.is_compatible(k, w))
 
487
        self.failIf(WeaveToKnit.is_compatible(w, w))
 
488
        self.failIf(WeaveToKnit.is_compatible(k, k))