diff options
author | Takahide Nojima <nozzy123nozzy@gmail.com> | 2021-10-23 16:42:44 +0900 |
---|---|---|
committer | Takahide Nojima <nozzy123nozzy@gmail.com> | 2021-10-26 15:01:23 +0000 |
commit | 30a6c5864d762b9500570a9d944f321b01584206 (patch) | |
tree | f9a71b3f80198ab606514c4ef541c7b34decb430 | |
parent | 4e3acd8e4451ae39dbd5a6c8c5eba79300136d2f (diff) | |
download | pylint-git-30a6c5864d762b9500570a9d944f321b01584206.tar.gz |
Modify sources along with results of pr review.
- move "tests/prop_data/*" to "tests/data/."
- make tests/data/property_pattern.py correctly executable.
- remove class members not related to "property" from test/data/property_pattern.py.
- modify tests of pyreverse to pass all tests.
-rw-r--r-- | tests/data/property_pattern.py | 21 | ||||
-rw-r--r-- | tests/prop_data/property_pattern.py | 26 | ||||
-rw-r--r-- | tests/pyreverse/data/classes_No_Name.dot | 1 | ||||
-rw-r--r-- | tests/pyreverse/data/classes_No_Name.puml | 4 | ||||
-rw-r--r-- | tests/pyreverse/data/classes_No_Name.vcg | 3 | ||||
-rw-r--r-- | tests/pyreverse/data/classes_colorized.dot | 1 | ||||
-rw-r--r-- | tests/pyreverse/data/classes_colorized.puml | 4 | ||||
-rw-r--r-- | tests/pyreverse/data/packages_No_Name.dot | 1 | ||||
-rw-r--r-- | tests/pyreverse/data/packages_No_Name.puml | 3 | ||||
-rw-r--r-- | tests/pyreverse/data/packages_No_Name.vcg | 3 | ||||
-rw-r--r-- | tests/pyreverse/data/packages_colorized.dot | 1 | ||||
-rw-r--r-- | tests/pyreverse/data/packages_colorized.puml | 3 | ||||
-rw-r--r-- | tests/pyreverse/test_diadefs.py | 2 | ||||
-rw-r--r-- | tests/pyreverse/test_diagrams.py | 25 | ||||
-rw-r--r-- | tests/pyreverse/test_inspector.py | 7 |
15 files changed, 64 insertions, 41 deletions
diff --git a/tests/data/property_pattern.py b/tests/data/property_pattern.py new file mode 100644 index 000000000..e6bb3b9c9 --- /dev/null +++ b/tests/data/property_pattern.py @@ -0,0 +1,21 @@ +""" docstring for file property_pattern.py """ +class PropertyPatterns: + prop1 = property(lambda self: self._prop1*2, None, None, "property usage 1") + + @property + def prop2(self): + """property usage 2""" + return self._prop2 + + @prop2.setter + def prop2(self, value): + self._prop2 = value * 2 + + def __init__(self): + self._prop1=1 + self._prop2=2 + +if __name__ == "__main__": + prop=PropertyPatterns() + assert(prop.prop1==2) + assert(prop.prop2==4) diff --git a/tests/prop_data/property_pattern.py b/tests/prop_data/property_pattern.py deleted file mode 100644 index 77c7eee4b..000000000 --- a/tests/prop_data/property_pattern.py +++ /dev/null @@ -1,26 +0,0 @@ -""" docstring for file property_pattern.py """ - - -class FuncHolder: - def __init__(self, f_set, f_get, f_del, docstr): - pass - - -class PropertyPatterns: - prop1 = property(lambda x: (x) * 2, None, None, "property usage 1") - - @property - def prop2(self): - """property usage 2""" - return self._prop2 - - @prop2.setter - def prop2(self, value): - self._prop2 = value * 2 - - prop3 = FuncHolder(lambda x: (x) * 3, None, None, "non property 1") - - prop4 = lambda self, x: x * 2 # noqa: E731 - - def __init__(self): - pass diff --git a/tests/pyreverse/data/classes_No_Name.dot b/tests/pyreverse/data/classes_No_Name.dot index cbe3d155d..b2c555108 100644 --- a/tests/pyreverse/data/classes_No_Name.dot +++ b/tests/pyreverse/data/classes_No_Name.dot @@ -7,6 +7,7 @@ charset="utf-8" "data.suppliermodule_test.DoNothing2" [color="black", fontcolor="black", label="{DoNothing2|\l|}", shape="record", style="solid"]; "data.suppliermodule_test.DoSomething" [color="black", fontcolor="black", label="{DoSomething|my_int : Optional[int]\lmy_int_2 : Optional[int]\lmy_string : str\l|do_it(new_int: int): int\l}", shape="record", style="solid"]; "data.suppliermodule_test.Interface" [color="black", fontcolor="black", label="{Interface|\l|get_value()\lset_value(value)\l}", shape="record", style="solid"]; +"data.property_pattern.PropertyPatterns" [color="black", fontcolor="black", label="{PropertyPatterns|prop1\lprop2\l|}", shape="record", style="solid"]; "data.clientmodule_test.Specialization" [color="black", fontcolor="black", label="{Specialization|TYPE : str\lrelation\lrelation2\ltop : str\l|}", shape="record", style="solid"]; "data.clientmodule_test.Specialization" -> "data.clientmodule_test.Ancestor" [arrowhead="empty", arrowtail="none"]; "data.clientmodule_test.Ancestor" -> "data.suppliermodule_test.Interface" [arrowhead="empty", arrowtail="node", style="dashed"]; diff --git a/tests/pyreverse/data/classes_No_Name.puml b/tests/pyreverse/data/classes_No_Name.puml index 35bda65c1..1d9e5f37d 100644 --- a/tests/pyreverse/data/classes_No_Name.puml +++ b/tests/pyreverse/data/classes_No_Name.puml @@ -22,6 +22,10 @@ class "Interface" as data.suppliermodule_test.Interface { get_value() set_value(value) } +class "PropertyPatterns" as data.property_pattern.PropertyPatterns { + prop1 + prop2 +} class "Specialization" as data.clientmodule_test.Specialization { TYPE : str relation diff --git a/tests/pyreverse/data/classes_No_Name.vcg b/tests/pyreverse/data/classes_No_Name.vcg index 748c432f2..bc542b64b 100644 --- a/tests/pyreverse/data/classes_No_Name.vcg +++ b/tests/pyreverse/data/classes_No_Name.vcg @@ -22,6 +22,9 @@ graph:{ node: {title:"data.suppliermodule_test.Interface" label:"\fbInterface\fn\n\f___________\n\f10get_value()\n\f10set_value()" shape:box } + node: {title:"data.property_pattern.PropertyPatterns" label:"\fbPropertyPatterns\fn\n\f__________________\n\f08prop1\n\f08prop2\n\f__________________" + shape:box +} node: {title:"data.clientmodule_test.Specialization" label:"\fbSpecialization\fn\n\f________________\n\f08TYPE : str\n\f08relation\n\f08relation2\n\f08top : str\n\f________________" shape:box } diff --git a/tests/pyreverse/data/classes_colorized.dot b/tests/pyreverse/data/classes_colorized.dot index ff96df77c..0ed328566 100644 --- a/tests/pyreverse/data/classes_colorized.dot +++ b/tests/pyreverse/data/classes_colorized.dot @@ -7,6 +7,7 @@ charset="utf-8" "data.suppliermodule_test.DoNothing2" [color="aliceblue", fontcolor="black", label="{DoNothing2|\l|}", shape="record", style="filled"]; "data.suppliermodule_test.DoSomething" [color="aliceblue", fontcolor="black", label="{DoSomething|my_int : Optional[int]\lmy_int_2 : Optional[int]\lmy_string : str\l|do_it(new_int: int): int\l}", shape="record", style="filled"]; "data.suppliermodule_test.Interface" [color="aliceblue", fontcolor="black", label="{Interface|\l|get_value()\lset_value(value)\l}", shape="record", style="filled"]; +"data.property_pattern.PropertyPatterns" [color="aliceblue", fontcolor="black", label="{PropertyPatterns|prop1\lprop2\l|}", shape="record", style="filled"]; "data.clientmodule_test.Specialization" [color="aliceblue", fontcolor="black", label="{Specialization|TYPE : str\lrelation\lrelation2\ltop : str\l|}", shape="record", style="filled"]; "data.clientmodule_test.Specialization" -> "data.clientmodule_test.Ancestor" [arrowhead="empty", arrowtail="none"]; "data.clientmodule_test.Ancestor" -> "data.suppliermodule_test.Interface" [arrowhead="empty", arrowtail="node", style="dashed"]; diff --git a/tests/pyreverse/data/classes_colorized.puml b/tests/pyreverse/data/classes_colorized.puml index 25c0f34e9..611a669db 100644 --- a/tests/pyreverse/data/classes_colorized.puml +++ b/tests/pyreverse/data/classes_colorized.puml @@ -22,6 +22,10 @@ class "Interface" as data.suppliermodule_test.Interface #aliceblue { get_value() set_value(value) } +class "PropertyPatterns" as data.property_pattern.PropertyPatterns #aliceblue { + prop1 + prop2 +} class "Specialization" as data.clientmodule_test.Specialization #aliceblue { TYPE : str relation diff --git a/tests/pyreverse/data/packages_No_Name.dot b/tests/pyreverse/data/packages_No_Name.dot index 7b145dc91..461c8f9b4 100644 --- a/tests/pyreverse/data/packages_No_Name.dot +++ b/tests/pyreverse/data/packages_No_Name.dot @@ -3,6 +3,7 @@ rankdir=BT charset="utf-8" "data" [color="black", label="data", shape="box", style="solid"]; "data.clientmodule_test" [color="black", label="data.clientmodule_test", shape="box", style="solid"]; +"data.property_pattern" [color="black", label="data.property_pattern", shape="box", style="solid"]; "data.suppliermodule_test" [color="black", label="data.suppliermodule_test", shape="box", style="solid"]; "data.clientmodule_test" -> "data.suppliermodule_test" [arrowhead="open", arrowtail="none"]; } diff --git a/tests/pyreverse/data/packages_No_Name.puml b/tests/pyreverse/data/packages_No_Name.puml index 7089df0ea..4037b91bd 100644 --- a/tests/pyreverse/data/packages_No_Name.puml +++ b/tests/pyreverse/data/packages_No_Name.puml @@ -6,6 +6,9 @@ package "data" as data { package "data.clientmodule_test" as data.clientmodule_test { } +package "data.property_pattern" as data.property_pattern { + +} package "data.suppliermodule_test" as data.suppliermodule_test { } diff --git a/tests/pyreverse/data/packages_No_Name.vcg b/tests/pyreverse/data/packages_No_Name.vcg index 03f4e2481..f9f4e4cec 100644 --- a/tests/pyreverse/data/packages_No_Name.vcg +++ b/tests/pyreverse/data/packages_No_Name.vcg @@ -10,6 +10,9 @@ graph:{ node: {title:"data.clientmodule_test" label:"\fbdata.clientmodule_test\fn" shape:box } + node: {title:"data.property_pattern" label:"\fbdata.property_pattern\fn" + shape:box +} node: {title:"data.suppliermodule_test" label:"\fbdata.suppliermodule_test\fn" shape:box } diff --git a/tests/pyreverse/data/packages_colorized.dot b/tests/pyreverse/data/packages_colorized.dot index 917fa86f5..1a95d4c97 100644 --- a/tests/pyreverse/data/packages_colorized.dot +++ b/tests/pyreverse/data/packages_colorized.dot @@ -3,6 +3,7 @@ rankdir=BT charset="utf-8" "data" [color="aliceblue", label="data", shape="box", style="filled"]; "data.clientmodule_test" [color="aliceblue", label="data.clientmodule_test", shape="box", style="filled"]; +"data.property_pattern" [color="aliceblue", label="data.property_pattern", shape="box", style="filled"]; "data.suppliermodule_test" [color="aliceblue", label="data.suppliermodule_test", shape="box", style="filled"]; "data.clientmodule_test" -> "data.suppliermodule_test" [arrowhead="open", arrowtail="none"]; } diff --git a/tests/pyreverse/data/packages_colorized.puml b/tests/pyreverse/data/packages_colorized.puml index 8d489e7aa..353ae8c47 100644 --- a/tests/pyreverse/data/packages_colorized.puml +++ b/tests/pyreverse/data/packages_colorized.puml @@ -6,6 +6,9 @@ package "data" as data #aliceblue { package "data.clientmodule_test" as data.clientmodule_test #aliceblue { } +package "data.property_pattern" as data.property_pattern #aliceblue { + +} package "data.suppliermodule_test" as data.suppliermodule_test #aliceblue { } diff --git a/tests/pyreverse/test_diadefs.py b/tests/pyreverse/test_diadefs.py index ec7b48614..5c5ca13e1 100644 --- a/tests/pyreverse/test_diadefs.py +++ b/tests/pyreverse/test_diadefs.py @@ -148,6 +148,7 @@ def test_known_values1(HANDLER: DiadefsHandler, PROJECT: Project) -> None: assert modules == [ (True, "data"), (True, "data.clientmodule_test"), + (True, "data.property_pattern"), (True, "data.suppliermodule_test"), ] cd = dd[1] @@ -160,6 +161,7 @@ def test_known_values1(HANDLER: DiadefsHandler, PROJECT: Project) -> None: (True, "DoNothing2"), (True, "DoSomething"), (True, "Interface"), + (True, "PropertyPatterns"), (True, "Specialization"), ] diff --git a/tests/pyreverse/test_diagrams.py b/tests/pyreverse/test_diagrams.py index 7e0cb4580..a2da6e27d 100644 --- a/tests/pyreverse/test_diagrams.py +++ b/tests/pyreverse/test_diagrams.py @@ -3,25 +3,22 @@ # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html # For details: https://github.com/PyCQA/pylint/blob/main/LICENSE -"""Unit test for the ClassDiagram modules""" +"""Unit test for the diagrams modules""" # pylint: disable=redefined-outer-name from typing import Callable -import pytest - from pylint.pyreverse.diadefslib import DefaultDiadefGenerator, DiadefsHandler from pylint.pyreverse.inspector import Linker from pylint.testutils.pyreverse import PyreverseConfig -@pytest.fixture -def HANDLER(default_config: PyreverseConfig) -> DiadefsHandler: - return DiadefsHandler(default_config) - - -def test_property_handling(HANDLER: DiadefsHandler, get_project: Callable) -> None: - project = get_project("prop_data.property_pattern") - cd = DefaultDiadefGenerator(Linker(project), HANDLER).visit(project)[0] - obj = cd.classe("PropertyPatterns") - assert len(cd.get_methods(obj.node)) == 0 - assert cd.get_attrs(obj.node) == ["prop1", "prop2", "prop3", "prop4"] +def test_property_handling( + default_config: PyreverseConfig, get_project: Callable +) -> None: + project = get_project("data.property_pattern") + class_diagram = DefaultDiadefGenerator( + Linker(project), DiadefsHandler(default_config) + ).visit(project)[0] + obj = class_diagram.classe("PropertyPatterns") + assert len(class_diagram.get_methods(obj.node)) == 0 + assert class_diagram.get_attrs(obj.node) == ["prop1", "prop2"] diff --git a/tests/pyreverse/test_inspector.py b/tests/pyreverse/test_inspector.py index 8be038396..0e06bb48a 100644 --- a/tests/pyreverse/test_inspector.py +++ b/tests/pyreverse/test_inspector.py @@ -132,5 +132,10 @@ def test_from_directory(project: Project) -> None: def test_project_node(project: Project) -> None: - expected = ["data", "data.clientmodule_test", "data.suppliermodule_test"] + expected = [ + "data", + "data.clientmodule_test", + "data.property_pattern", + "data.suppliermodule_test", + ] assert sorted(project.keys()) == expected |