kopia lustrzana https://github.com/jedie/PyInventory
41 wiersze
1.1 KiB
Python
41 wiersze
1.1 KiB
Python
![]() |
import random
|
||
|
|
||
|
from inventory.parent_tree import ValuesListTree
|
||
|
|
||
|
|
||
|
def test_values_list_tree():
|
||
|
values_list = [
|
||
|
(1, '1.', None),
|
||
|
(2, '1.1.', 1),
|
||
|
(3, '1.1.1', 2),
|
||
|
(4, '1.1.2', 2),
|
||
|
(5, '1.2.', 1),
|
||
|
(6, '2.', None),
|
||
|
]
|
||
|
random.shuffle(values_list)
|
||
![]() |
values = [{'pk': entry[0], 'name': entry[1], 'parent__pk': entry[2], 'path': ''} for entry in values_list]
|
||
![]() |
tree = ValuesListTree(values)
|
||
|
|
||
|
tree_path = tree.get_tree_path()
|
||
|
assert tree_path == [
|
||
|
'1.',
|
||
|
'1. / 1.1.',
|
||
|
'1. / 1.1. / 1.1.1',
|
||
|
'1. / 1.1. / 1.1.2',
|
||
|
'1. / 1.2.',
|
||
|
'2.',
|
||
|
]
|
||
|
update_path_info = tree.get_update_path_info()
|
||
|
assert update_path_info == {
|
||
|
1: ['1.'],
|
||
|
2: ['1.', '1.1.'],
|
||
|
3: ['1.', '1.1.', '1.1.1'],
|
||
|
4: ['1.', '1.1.', '1.1.2'],
|
||
|
5: ['1.', '1.2.'],
|
||
|
6: ['2.'],
|
||
|
}
|
||
|
|
||
|
node_three = tree.nodes[2]
|
||
|
assert str(node_three) == 'pk:3 name:"1.1.1" path:"1. / 1.1. / 1.1.1"'
|
||
|
assert repr(node_three) == '<TreeNode pk:3 name:"1.1.1" path:"1. / 1.1. / 1.1.1">'
|