def test_import_typing(import_code: str, call_code: str, ref_value: bool, namedtuple_checker: TypingNamedTupleChecker) -> None: node = astroid.extract_node(import_code) namedtuple_checker.visit_import(node) node = astroid.extract_node(call_code) assert (namedtuple_checker._visit_call(node.value if isinstance( node, astroid.node_classes.Assign) else node) is ref_value)
def test_multiple_modules_typing( namedtuple_checker: TypingNamedTupleChecker, modules: Iterable[Tuple[str, str, bool]]) -> None: for import_code, call_code, ref_value in modules: node = astroid.extract_node(import_code) node.parent = astroid.Module("module ", None) namedtuple_checker.visit_module(node.parent) namedtuple_checker.visit_import(node) node = astroid.extract_node(call_code) assert (namedtuple_checker._visit_call(node.value if isinstance( node, astroid.node_classes.Assign) else node) is ref_value)
def test_function_as_argument_name( import_code: str, call_code: str, ref_value: bool, namedtuple_checker: TypingNamedTupleChecker) -> None: node = astroid.extract_node(import_code) namedtuple_checker.visit_importfrom(node) node = astroid.extract_node(call_code) value = False for arg in node.args: if namedtuple_checker._called_with_library( arg) or namedtuple_checker._called_directly(arg): value = True assert value is ref_value
def namedtuple_checker_fixture() -> TypingNamedTupleChecker: return TypingNamedTupleChecker(None)