Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
avocado
提交
29b2abac
A
avocado
项目概览
openeuler
/
avocado
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
avocado
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
29b2abac
编写于
12月 21, 2017
作者:
L
Lucas Meneghel Rodrigues
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'clebergnu-tree_docs_tests'
上级
db2067a1
ee5b0e01
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
84 addition
and
0 deletion
+84
-0
avocado/core/tree.py
avocado/core/tree.py
+14
-0
selftests/unit/test_tree.py
selftests/unit/test_tree.py
+70
-0
未找到文件。
avocado/core/tree.py
浏览文件 @
29b2abac
...
...
@@ -142,6 +142,20 @@ class TreeNode(object):
"""
def
__init__
(
self
,
name
=
''
,
value
=
None
,
parent
=
None
,
children
=
None
):
"""
:param name: a name for this node that will be used to define its
path according to the name of its parents
:type name: str
:param value: a collection of keys and values that will be made into
this node environment.
:type value: dict
:param parent: the node that is directly above this one in the tree
structure
:type parent: :class:`TreeNode`
:param children: the nodes that are directly beneath this one in the
tree structure
:type children: builtin.list
"""
if
value
is
None
:
value
=
{}
if
children
is
None
:
...
...
selftests/unit/test_tree.py
0 → 100644
浏览文件 @
29b2abac
import
unittest
from
avocado.core
import
tree
class
TreeNode
(
unittest
.
TestCase
):
def
test_empty
(
self
):
node
=
tree
.
TreeNode
()
self
.
assertEqual
(
node
.
name
,
''
)
self
.
assertEqual
(
node
.
value
,
{})
self
.
assertEqual
(
node
.
children
,
[])
def
test_parents_child
(
self
):
child
=
tree
.
TreeNode
()
parent
=
tree
.
TreeNode
(
children
=
[
child
])
self
.
assertIn
(
child
,
parent
.
children
)
def
test_childs_parent
(
self
):
child
=
tree
.
TreeNode
()
parent
=
tree
.
TreeNode
(
children
=
[
child
])
self
.
assertIs
(
child
.
parent
,
parent
)
def
test_children_order
(
self
):
huey
=
tree
.
TreeNode
(
name
=
'Huey'
)
dewey
=
tree
.
TreeNode
(
name
=
'Dewey'
)
louie
=
tree
.
TreeNode
(
name
=
'Louie'
)
scrooge
=
tree
.
TreeNode
(
name
=
'Scrooge'
,
children
=
[
huey
,
dewey
,
louie
])
self
.
assertIs
(
scrooge
.
children
[
0
],
huey
)
self
.
assertIs
(
scrooge
.
children
[
1
],
dewey
)
self
.
assertIs
(
scrooge
.
children
[
2
],
louie
)
def
test_eq_name
(
self
):
original
=
tree
.
TreeNode
(
name
=
'same'
)
clone
=
tree
.
TreeNode
(
name
=
'same'
)
self
.
assertEqual
(
original
,
clone
)
self
.
assertNotEqual
(
original
,
tree
.
TreeNode
(
name
=
'other'
))
def
test_eq_name_str
(
self
):
original
=
tree
.
TreeNode
(
name
=
'same'
)
self
.
assertEqual
(
original
,
'same'
)
self
.
assertNotEqual
(
original
,
'other'
)
def
test_eq_children
(
self
):
huey
=
tree
.
TreeNode
(
name
=
'Huey'
)
dewey
=
tree
.
TreeNode
(
name
=
'Dewey'
)
louie
=
tree
.
TreeNode
(
name
=
'Louie'
)
original
=
tree
.
TreeNode
(
children
=
[
huey
,
dewey
,
louie
])
clone
=
tree
.
TreeNode
(
children
=
[
huey
,
dewey
,
louie
])
self
.
assertEqual
(
original
,
clone
)
self
.
assertNotEqual
(
original
,
tree
.
TreeNode
(
children
=
[
huey
,
dewey
]))
def
test_eq_value
(
self
):
self
.
assertEqual
(
tree
.
TreeNode
(
value
=
{
'same'
:
'same'
}),
tree
.
TreeNode
(
value
=
{
'same'
:
'same'
}))
self
.
assertNotEqual
(
tree
.
TreeNode
(
value
=
{
'same'
:
'same'
}),
tree
.
TreeNode
(
value
=
{
'same'
:
'other'
}))
def
test_fingerprint
(
self
):
self
.
assertEqual
(
tree
.
TreeNode
(
"foo"
).
fingerprint
(),
"/foo{},{},FilterSet([]),FilterSet([])"
)
self
.
assertEqual
(
tree
.
TreeNode
(
"bar"
,
value
=
{
"key"
:
"val"
}).
fingerprint
(),
"/bar{key: val},{key: /bar},FilterSet([]),FilterSet([])"
)
def
test_is_leaf
(
self
):
self
.
assertTrue
(
tree
.
TreeNode
().
is_leaf
)
self
.
assertTrue
(
tree
.
TreeNode
(
value
=
{
'foo'
:
'bar'
}).
is_leaf
)
self
.
assertFalse
(
tree
.
TreeNode
(
children
=
[
tree
.
TreeNode
()]).
is_leaf
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录