From 2ad248f3d179ae0c1c6c413768541ccc4dec08d2 Mon Sep 17 00:00:00 2001 From: HansBug Date: Tue, 22 Feb 2022 16:00:40 +0800 Subject: [PATCH] dev(hansbug): update the default value of include_nodes from False to True --- test/tree/general/base.py | 4 ++-- test/tree/tree/test_service.py | 10 ++++++++++ treevalue/tree/general/general.py | 2 +- treevalue/tree/tree/service.pyx | 2 +- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/test/tree/general/base.py b/test/tree/general/base.py index ea2a7a8104..d75c5dbd2c 100644 --- a/test/tree/general/base.py +++ b/test/tree/general/base.py @@ -623,7 +623,7 @@ def get_tree_test(tree_value_clazz: Type[TreeValue]): def test_walk(self): tv1 = tree_value_clazz({'a': 1, 'b': 'dks', 'c': {'x': 2, 'y': 3}}) - for p, v in tv1.walk(): + for p, v in tv1.walk(include_nodes=False): if p == ('a',): assert v == 1 elif p == ('b',): @@ -635,7 +635,7 @@ def get_tree_test(tree_value_clazz: Type[TreeValue]): else: pytest.fail('Should not reach here - %s is accessed.' % (repr(p),)) - for p, v in tv1.walk(include_nodes=True): + for p, v in tv1.walk(): if p == (): assert v == tv1 elif p == ('a',): diff --git a/test/tree/tree/test_service.py b/test/tree/tree/test_service.py index f3c3509ad9..9b80e9cafd 100644 --- a/test/tree/tree/test_service.py +++ b/test/tree/tree/test_service.py @@ -105,9 +105,17 @@ class TestTreeTreeService: tv1 = MyTreeValue({'a': 1, 'b': 2, 'c': {'x': 2, 'y': 3}}) + assert dict(walk(tv1, include_nodes=False)) == { + ('a',): 1, + ('b',): 2, + ('c', 'x',): 2, + ('c', 'y',): 3, + } assert dict(walk(tv1)) == { + (): MyTreeValue({'a': 1, 'b': 2, 'c': {'x': 2, 'y': 3}}), ('a',): 1, ('b',): 2, + ('c',): MyTreeValue({'x': 2, 'y': 3}), ('c', 'x',): 2, ('c', 'y',): 3, } @@ -126,8 +134,10 @@ class TestTreeTreeService: 'c': delayed(lambda: tv1.c), }) assert dict(walk(tv2)) == { + (): MyTreeValue({'a': 1, 'b': 2, 'c': {'x': 2, 'y': 3}}), ('a',): 1, ('b',): 2, + ('c',): MyTreeValue({'x': 2, 'y': 3}), ('c', 'x',): 2, ('c', 'y',): 3, } diff --git a/treevalue/tree/general/general.py b/treevalue/tree/general/general.py index 06e22705fd..d9d2700dac 100644 --- a/treevalue/tree/general/general.py +++ b/treevalue/tree/general/general.py @@ -210,7 +210,7 @@ def general_tree_value(base: Optional[Mapping[str, Any]] = None, return filter_(self, func, remove_empty) @_decorate_method - def walk(self, include_nodes: bool = False): + def walk(self, include_nodes: bool = True): """ Overview: Walk the values and nodes in the tree. diff --git a/treevalue/tree/tree/service.pyx b/treevalue/tree/tree/service.pyx index 6d9238bf92..2b4ea19704 100644 --- a/treevalue/tree/tree/service.pyx +++ b/treevalue/tree/tree/service.pyx @@ -106,7 +106,7 @@ def _p_walk(TreeStorage tree, object type_, tuple path, bool include_nodes): yield curpath, v @cython.binding(True) -cpdef walk(TreeValue tree, bool include_nodes=False): +cpdef walk(TreeValue tree, bool include_nodes=True): """ Overview: Walk the values and nodes in the tree. -- GitLab