def type_name_is_definitely_bound_after_type_definition(): int_ref = nodes.ref("int") str_ref = nodes.ref("str") node = nodes.type_definition("Identifier", nodes.type_union([int_ref, str_ref])) bindings = _updated_bindings(node, is_definitely_bound=["int", "str"]) assert_equal(True, bindings.is_definitely_bound(node))
def type_definition_is_resolved_to_type_declaration(): node = nodes.type_definition("Identifier", nodes.type_union([nodes.ref("int"), nodes.ref("str")])) declarations = _create_declarations(["Identifier", "int", "str"]) references = resolve(node, declarations) assert_is(declarations.declaration("Identifier"), references.referenced_declaration(node))
def type_definition_is_declared(): node = nodes.type_definition("Identifier", nodes.type_union([nodes.ref("int"), nodes.ref("str")])) declarations = find_declarations(node) assert_equal("Identifier", declarations.declaration("Identifier").name) assert isinstance(declarations.declaration("Identifier"), name_declaration.TypeDeclarationNode)