Skip to content

Commit bcbfffa

Browse files
committed
Tests
1 parent 8a3086c commit bcbfffa

2 files changed

Lines changed: 192 additions & 192 deletions

File tree

tests/conftest.py

Lines changed: 39 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"""SSOT for all tests."""
2-
3-
from collections.abc import Iterator
2+
# pyright: standard
3+
from astToolkit import Be, Make
4+
from collections.abc import Callable, Iterator
45
from functools import cache
56
from tests.dataSamples.Make import allSubclasses
67
from typing import Any
@@ -69,67 +70,59 @@ def beNegativeTestData(request: pytest.FixtureRequest) -> tuple[str, str, str, d
6970
"""
7071
return request.param
7172

72-
7373
# IfThis test data and fixtures
7474

75-
def generateIdentifierTestData():
75+
def generateIdentifierTestData() -> Iterator[tuple[str, str, Callable, bool]]:
7676
"""Generate test data for IfThis identifier-based methods."""
77-
from astToolkit import Make
78-
77+
7978
# Basic identifier patterns
8079
test_cases = [
81-
# (method_name, test_identifier, node_factory, expected_result)
82-
("isNameIdentifier", "test_var", lambda id: Make.Name(id), True),
83-
("isNameIdentifier", "different_var", lambda id: Make.Name("test_var"), False),
84-
("isFunctionDefIdentifier", "test_func", lambda id: Make.FunctionDef(name=id), True),
85-
("isFunctionDefIdentifier", "other_func", lambda id: Make.FunctionDef(name="test_func"), False),
86-
("isClassDefIdentifier", "TestClass", lambda id: Make.ClassDef(name=id), True),
87-
("isClassDefIdentifier", "OtherClass", lambda id: Make.ClassDef(name="TestClass"), False),
88-
("isCallIdentifier", "print", lambda id: Make.Call(callee=Make.Name(id)), True),
89-
("isCallIdentifier", "input", lambda id: Make.Call(callee=Make.Name("print")), False),
90-
("is_argIdentifier", "param", lambda id: Make.arg(id), True),
91-
("is_argIdentifier", "other_param", lambda id: Make.arg("param"), False),
92-
("is_keywordIdentifier", "key", lambda id: Make.keyword(id, Make.Constant("value")), True),
93-
("is_keywordIdentifier", "other_key", lambda id: Make.keyword("key", Make.Constant("value")), False),
80+
# NOTE (method_name, test_identifier, node_factory, expected_result)
81+
("isNameIdentifier", "test_var", lambda identifier: Make.Name(identifier), True),
82+
("isNameIdentifier", "different_var", lambda identifier: Make.Name("test_var"), False),
83+
("isFunctionDefIdentifier", "test_func", lambda identifier: Make.FunctionDef(name=identifier), True),
84+
("isFunctionDefIdentifier", "other_func", lambda identifier: Make.FunctionDef(name="test_func"), False),
85+
("isClassDefIdentifier", "TestClass", lambda identifier: Make.ClassDef(name=identifier), True),
86+
("isClassDefIdentifier", "OtherClass", lambda identifier: Make.ClassDef(name="TestClass"), False),
87+
("isCallIdentifier", "print", lambda identifier: Make.Call(callee=Make.Name(identifier)), True),
88+
("isCallIdentifier", "input", lambda identifier: Make.Call(callee=Make.Name("print")), False),
89+
("is_argIdentifier", "param", lambda identifier: Make.arg(identifier), True),
90+
("is_argIdentifier", "other_param", lambda identifier: Make.arg("param"), False),
91+
("is_keywordIdentifier", "key", lambda identifier: Make.keyword(identifier, Make.Constant("value")), True),
92+
("is_keywordIdentifier", "other_key", lambda identifier: Make.keyword("key", Make.Constant("value")), False),
9493
]
95-
96-
for method_name, test_id, node_factory, expected in test_cases:
97-
yield (method_name, test_id, node_factory, expected)
9894

99-
def generateSimplePredicateTestData():
95+
yield from test_cases
96+
97+
def generateSimplePredicateTestData() -> Iterator[tuple[str, tuple, Callable, bool]]:
10098
"""Generate test data for simple predicate methods."""
101-
from astToolkit import Make, Be
102-
99+
103100
test_cases = [
104-
# (method_name, test_args, node_factory, expected_result)
101+
# method_name, test_args, node_factory, expected_result
105102
("isConstant_value", (42,), lambda: Make.Constant(42), True),
106103
("isConstant_value", (24,), lambda: Make.Constant(42), False),
107104
]
108-
109-
for method_name, args, node_factory, expected in test_cases:
110-
yield (method_name, args, node_factory, expected)
111105

112-
def generateDirectPredicateTestData():
106+
yield from test_cases
107+
108+
def generateDirectPredicateTestData() -> Iterator[tuple[str, Callable, bool]]:
113109
"""Generate test data for direct predicate methods that take node directly."""
114-
from astToolkit import Make
115-
110+
116111
test_cases = [
117-
# (method_name, node_factory, expected_result)
112+
# method_name, node_factory, expected_result
118113
("isAttributeName", lambda: Make.Attribute(Make.Name("obj"), "attr"), True),
119114
("isAttributeName", lambda: Make.Name("obj"), False),
120115
("isCallToName", lambda: Make.Call(callee=Make.Name("func")), True),
121116
("isCallToName", lambda: Make.Call(callee=Make.Attribute(Make.Name("obj"), "method")), False),
122117
]
123-
124-
for method_name, node_factory, expected in test_cases:
125-
yield (method_name, node_factory, expected)
126118

127-
def generateComplexPredicateTestData():
119+
yield from test_cases
120+
121+
def generateComplexPredicateTestData() -> Iterator[tuple[str, tuple, Callable, bool]]:
128122
"""Generate test data for complex predicate methods."""
129-
from astToolkit import Make
130-
123+
131124
test_cases = [
132-
# (method_name, test_args, node_factory, expected_result)
125+
# method_name, test_args, node_factory, expected_result
133126
("isAttributeNamespaceIdentifier", ("obj", "method"), lambda: Make.Attribute(Make.Name("obj"), "method"), True),
134127
("isAttributeNamespaceIdentifier", ("other_obj", "method"), lambda: Make.Attribute(Make.Name("obj"), "method"), False),
135128
("isCallAttributeNamespaceIdentifier", ("obj", "method"), lambda: Make.Call(callee=Make.Attribute(Make.Name("obj"), "method")), True),
@@ -141,26 +134,25 @@ def generateComplexPredicateTestData():
141134
("isUnaryNotAttributeNamespaceIdentifier", ("obj", "flag"), lambda: Make.UnaryOp(op=Make.Not(), operand=Make.Attribute(Make.Name("obj"), "flag")), True),
142135
("isUnaryNotAttributeNamespaceIdentifier", ("other_obj", "flag"), lambda: Make.UnaryOp(op=Make.Not(), operand=Make.Attribute(Make.Name("obj"), "flag")), False),
143136
]
144-
145-
for method_name, args, node_factory, expected in test_cases:
146-
yield (method_name, args, node_factory, expected)
137+
138+
yield from test_cases
147139

148140
@pytest.fixture(params=list(generateIdentifierTestData()), ids=lambda param: f"{param[0]}_{param[1]}_{param[3]}")
149-
def identifierTestData(request):
141+
def identifierTestData(request: pytest.FixtureRequest) -> tuple[str, str, Callable, bool]:
150142
"""Fixture providing test data for identifier-based IfThis methods."""
151143
return request.param
152144

153145
@pytest.fixture(params=list(generateSimplePredicateTestData()), ids=lambda param: f"{param[0]}_{param[3]}")
154-
def simplePredicateTestData(request):
146+
def simplePredicateTestData(request: pytest.FixtureRequest) -> tuple[str, tuple, Callable, bool]:
155147
"""Fixture providing test data for simple IfThis predicate methods."""
156148
return request.param
157149

158150
@pytest.fixture(params=list(generateDirectPredicateTestData()), ids=lambda param: f"{param[0]}_{param[2]}")
159-
def directPredicateTestData(request):
151+
def directPredicateTestData(request: pytest.FixtureRequest) -> tuple[str, Callable, bool]:
160152
"""Fixture providing test data for direct IfThis predicate methods."""
161153
return request.param
162154

163155
@pytest.fixture(params=list(generateComplexPredicateTestData()), ids=lambda param: f"{param[0]}_{param[3]}")
164-
def complexPredicateTestData(request):
156+
def complexPredicateTestData(request: pytest.FixtureRequest) -> tuple[str, tuple, Callable, bool]:
165157
"""Fixture providing test data for complex IfThis predicate methods."""
166158
return request.param

0 commit comments

Comments
 (0)