Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDILab开源决策智能平台
treevalue
提交
6e134764
T
treevalue
项目概览
OpenDILab开源决策智能平台
/
treevalue
大约 1 年 前同步成功
通知
3
Star
213
Fork
3
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
treevalue
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6e134764
编写于
12月 28, 2021
作者:
HansBug
😆
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
dev(hansbug): test delayed flatten
上级
82b32076
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
43 addition
and
3 deletion
+43
-3
test/tree/tree/test_flatten.py
test/tree/tree/test_flatten.py
+43
-3
未找到文件。
test/tree/tree/test_flatten.py
浏览文件 @
6e134764
import
pytest
from
treevalue.tree
import
TreeValue
,
raw
,
flatten
,
unflatten
,
flatten_values
,
flatten_keys
from
treevalue.tree
import
TreeValue
,
raw
,
flatten
,
unflatten
,
flatten_values
,
flatten_keys
,
delayed
class
MyTreeValue
(
TreeValue
):
...
...
@@ -22,15 +22,37 @@ class TestTreeTreeFlatten:
((
'd'
,
'y'
),
4
)
]
t1
=
TreeValue
({
'a'
:
delayed
(
lambda
:
t
.
a
),
'b'
:
delayed
(
lambda
:
t
.
b
),
'c'
:
delayed
(
lambda
:
t
.
c
),
'd'
:
delayed
(
lambda
:
t
.
d
),
})
flatted
=
sorted
(
flatten
(
t1
))
assert
flatted
==
[
((
'a'
,),
1
),
((
'b'
,),
2
),
((
'c'
,),
{
'x'
:
3
,
'y'
:
4
}),
((
'd'
,
'x'
),
3
),
((
'd'
,
'y'
),
4
)
]
def
test_flatten_values
(
self
):
t
=
TreeValue
({
'a'
:
1
,
'b'
:
5
,
'c'
:
{
'x'
:
3
,
'y'
:
4
},
'd'
:
{
'x'
:
3
,
'y'
:
4
}})
flatted_values
=
sorted
(
flatten_values
(
t
))
assert
flatted_values
==
[
1
,
3
,
3
,
4
,
4
,
5
]
t1
=
TreeValue
({
'a'
:
delayed
(
lambda
:
t
.
a
),
'b'
:
delayed
(
lambda
:
t
.
b
),
'c'
:
delayed
(
lambda
:
t
.
c
),
'd'
:
delayed
(
lambda
:
t
.
d
),
})
flatted_values
=
sorted
(
flatten_values
(
t1
))
assert
flatted_values
==
[
1
,
3
,
3
,
4
,
4
,
5
]
def
test_flatten_keys
(
self
):
t
=
TreeValue
({
'a'
:
1
,
'd'
:
{
'x'
:
3
,
'y'
:
4
},
'e'
:
raw
({
'x'
:
3
,
'y'
:
4
}),
'b'
:
5
,
'c'
:
{
'x'
:
3
,
'y'
:
4
}})
flatted_keys
=
sorted
(
flatten_keys
(
t
))
assert
flatted_keys
==
[
(
'a'
,),
...
...
@@ -42,6 +64,24 @@ class TestTreeTreeFlatten:
(
'e'
,),
]
t1
=
TreeValue
({
'a'
:
delayed
(
lambda
:
t
.
a
),
'b'
:
delayed
(
lambda
:
t
.
b
),
'c'
:
delayed
(
lambda
:
t
.
c
),
'd'
:
delayed
(
lambda
:
t
.
d
),
'e'
:
delayed
(
lambda
:
t
.
e
),
})
flatted_keys
=
sorted
(
flatten_keys
(
t1
))
assert
flatted_keys
==
[
(
'a'
,),
(
'b'
,),
(
'c'
,
'x'
,),
(
'c'
,
'y'
,),
(
'd'
,
'x'
,),
(
'd'
,
'y'
,),
(
'e'
,),
]
def
test_unflatten
(
self
):
flatted
=
[
((
'a'
,),
1
),
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录