Exemple #1
0
    def should_add_node(self):
        root = StringTree('root')

        node = root.add_node(['node 1', 'node 1.0', 'node 1.0.0'])

        assert len(root.childs) == 1
        assert len(root.find('node 1').childs) == 1
        assert len(root.find('node 1').find('node 1.0').childs) == 1
        assert node.path() == ['root', 'node 1', 'node 1.0', 'node 1.0.0']
Exemple #2
0
    def should_add_node_without_duplicates(self):
        root = StringTree('root')
        node = root.add_node(['1', '2'])
        same_node = root.add_node(['1', '2'])
        new_node = root.add_node(['1', '2', '3'])

        assert node == same_node
        assert len(root.childs) == 1
        assert new_node.parent == node
        assert new_node.path() == ['root', '1', '2', '3']
Exemple #3
0
    def should_give_path(self):
        root = StringTree('root')

        name = ['node 1', 'node 2']

        node = StringTree(name, root)

        assert node.path(root) == ['node 1', 'node 2']
        assert node.path() == ['root', 'node 1', 'node 2']
        assert node.path(node) == []
        assert node.path(node.parent) == ['node 2']
Exemple #4
0
    def should_find_childs_by_name(self):
        root = StringTree('root')

        name_11 = ['node 1', 'node 11']
        name_21 = ['node 2', 'node 21']

        node_11 = StringTree(name_11, root)
        node_21 = StringTree(name_21, root)

        assert node_11.parent == root.find('node 1')
        assert node_11.parent.find('node 11') == node_11
        assert node_21.parent == root.find('node 2')
Exemple #5
0
    def _get_issue_description(self, task):
        description = ''
        if task.inputs:
            description += 'h3. Inputs\n\n'
            inputs = StringTree()
            for token in task.inputs:
                inputs.add_node(token.path()[1:])
            for document in inputs.childs:
                description += '* [[{}]]\n'.format(document.name)
                description += self._write_childs(document.childs, 2)

        if task.outputs:
            description += '\nh3. Outputs\n\n'
            outputs = StringTree()
            for token in task.outputs:
                outputs.add_node(token.path()[1:])
            for document in outputs.childs:
                description += '* [[{}]]\n'.format(document.name)
                description += self._write_childs(document.childs, 2)

        if description:
            description += '\n------'
        return description