/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
0.436.17 by Jelmer Vernooij
Move maptree code to separate files.
1
# Copyright (C) 2006-2007 by Jelmer Vernooij
2
# 
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
#
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
"""Tests for the maptree code."""
17
18
from bzrlib.tests import TestCase, TestCaseWithTransport
19
from bzrlib.treebuilder import TreeBuilder
20
0.436.21 by Jelmer Vernooij
Tests.
21
from maptree import MapTree, map_file_ids
0.436.17 by Jelmer Vernooij
Move maptree code to separate files.
22
23
0.436.18 by Jelmer Vernooij
More tests, extend MapTree a bit.
24
class EmptyMapTreeTests(TestCaseWithTransport):
0.436.17 by Jelmer Vernooij
Move maptree code to separate files.
25
    def setUp(self):
0.436.18 by Jelmer Vernooij
More tests, extend MapTree a bit.
26
        super(EmptyMapTreeTests, self).setUp()
27
        tree = self.make_branch_and_tree('branch') 
28
        self.oldtree = tree
29
30
    def test_has_filename(self):
31
        self.oldtree.lock_write()
32
        builder = TreeBuilder()
33
        builder.start_tree(self.oldtree)
34
        builder.build(['foo'])
35
        builder.finish_tree()
36
        self.maptree = MapTree(self.oldtree, {})
37
        self.oldtree.unlock()
38
        self.assertTrue(self.maptree.has_filename('foo'))
39
        self.assertTrue(self.oldtree.has_filename('foo'))
40
        self.assertFalse(self.maptree.has_filename('bar'))
41
42
    def test_inventory_len(self):
43
        self.oldtree.lock_write()
44
        builder = TreeBuilder()
45
        builder.start_tree(self.oldtree)
46
        builder.build(['foo'])
47
        builder.build(['bar'])
48
        builder.build(['bla'])
49
        builder.finish_tree()
50
        self.maptree = MapTree(self.oldtree, {})
51
        self.oldtree.unlock()
52
        self.oldtree.lock_read()
53
        self.assertEquals(4, len(self.oldtree.inventory))
54
        self.oldtree.unlock()
55
        self.assertEquals(4, len(self.maptree.inventory))
56
57
    def test_path2id(self):
58
        self.oldtree.lock_write()
59
        builder = TreeBuilder()
60
        builder.start_tree(self.oldtree)
61
        builder.build(['foo'])
62
        builder.build(['bar'])
63
        builder.build(['bla'])
64
        builder.finish_tree()
65
        self.maptree = MapTree(self.oldtree, {})
66
        self.assertEquals(self.oldtree.inventory.path2id("foo"),
67
                          self.maptree.inventory.path2id("foo"))
68
69
    def test_id2path(self):
70
        self.oldtree.lock_write()
71
        builder = TreeBuilder()
72
        builder.start_tree(self.oldtree)
73
        builder.build(['foo'])
74
        builder.build(['bar'])
75
        builder.build(['bla'])
76
        builder.finish_tree()
77
        self.maptree = MapTree(self.oldtree, {})
78
        self.assertEquals("foo",
79
                          self.maptree.inventory.id2path(
80
                              self.maptree.inventory.path2id("foo")))
81
82
    def test_has_id(self):
83
        self.oldtree.lock_write()
84
        builder = TreeBuilder()
85
        builder.start_tree(self.oldtree)
86
        builder.build(['foo'])
87
        builder.build(['bar'])
88
        builder.build(['bla'])
89
        builder.finish_tree()
90
        self.maptree = MapTree(self.oldtree, {})
91
        self.assertTrue(self.maptree.inventory.has_id(
92
                              self.maptree.inventory.path2id("foo")))
93
        self.assertFalse(self.maptree.inventory.has_id("bar"))
94
0.436.21 by Jelmer Vernooij
Tests.
95
96
class MapFileIdTests(TestCase):
97
    def test_empty(self):
98
        self.assertEquals({}, map_file_ids(None, [], []))