Esempio n. 1
0
    def test_insert_first_child(self):
        "If a node previously didn't allow children, inserting changes this"
        source = TreeSource(data={
            ('first', 111):
            None,
            ('second', 222): [],
            ('third', 333): [('third.one', 331), ('third.two', 332)]
        },
                            accessors=['val1', 'val2'])

        self.assertEqual(len(source), 3)
        self.assertFalse(source[0].can_have_children())
        self.assertEqual(len(source[0]), 0)

        listener = Mock()
        source.add_listener(listener)

        # Insert the new element
        node = source.insert(source[0], 0, val1='new element', val2=999)

        self.assertEqual(len(source), 3)
        self.assertTrue(source[0].can_have_children())
        self.assertEqual(len(source[0]), 1)
        self.assertEqual(source[0][0], node)
        self.assertEqual(node.val1, 'new element')
        self.assertEqual(node.val2, 999)

        listener.insert.assert_called_once_with(parent=source[0],
                                                index=0,
                                                item=node)
Esempio n. 2
0
    def test_insert_first_child(self):
        "If a node previously didn't allow children, inserting changes this"
        source = TreeSource(
            data={
                ('first', 111): None,
                ('second', 222): [],
                ('third', 333): [
                    ('third.one', 331),
                    ('third.two', 332)
                ]
            },
            accessors=['val1', 'val2']
        )

        self.assertEqual(len(source), 3)
        self.assertFalse(source[0].can_have_children())
        self.assertEqual(len(source[0]), 0)

        listener = Mock()
        source.add_listener(listener)

        # Insert the new element
        node = source.insert(source[0], 0, val1='new element', val2=999)

        self.assertEqual(len(source), 3)
        self.assertTrue(source[0].can_have_children())
        self.assertEqual(len(source[0]), 1)
        self.assertEqual(source[0][0], node)
        self.assertEqual(node.val1, 'new element')
        self.assertEqual(node.val2, 999)

        listener.insert.assert_called_once_with(parent=source[0], index=0, item=node)
Esempio n. 3
0
    def test_insert_child_kwargs(self):
        "A new child can be inserted using kwargs"
        source = TreeSource(data={
            ('first', 111):
            None,
            ('second', 222): [],
            ('third', 333): [('third.one', 331), ('third.two', 332)]
        },
                            accessors=['val1', 'val2'])

        self.assertEqual(len(source), 3)
        self.assertEqual(len(source[2]), 2)

        listener = Mock()
        source.add_listener(listener)

        # Insert the new element
        node = source.insert(source[2], 1, val1='new element', val2=999)

        self.assertEqual(len(source), 3)
        self.assertEqual(len(source[2]), 3)
        self.assertEqual(source[2][1], node)
        self.assertEqual(node.val1, 'new element')
        self.assertEqual(node.val2, 999)

        listener.insert.assert_called_once_with(parent=source[2],
                                                index=1,
                                                item=node)
Esempio n. 4
0
    def test_insert_child_kwargs(self):
        "A new child can be inserted using kwargs"
        source = TreeSource(
            data={
                ('first', 111): None,
                ('second', 222): [],
                ('third', 333): [
                    ('third.one', 331),
                    ('third.two', 332)
                ]
            },
            accessors=['val1', 'val2']
        )

        self.assertEqual(len(source), 3)
        self.assertEqual(len(source[2]), 2)

        listener = Mock()
        source.add_listener(listener)

        # Insert the new element
        node = source.insert(source[2], 1, val1='new element', val2=999)

        self.assertEqual(len(source), 3)
        self.assertEqual(len(source[2]), 3)
        self.assertEqual(source[2][1], node)
        self.assertEqual(node.val1, 'new element')
        self.assertEqual(node.val2, 999)

        listener.insert.assert_called_once_with(parent=source[2], index=1, item=node)