def test_declaration_cls(cls_decl, cls_use): """Test that class definitions are also declarations.""" assert name.declaration(cls_use) is cls_decl
def test_declaration_args(args_decl, args_use): """Test that arguments are also declarations.""" assert name.declaration(args_use) is args_decl
def test_declaration_fn(fn_decl, fn_use): """Test that function definitions are also declarations.""" assert name.declaration(fn_use) is fn_decl
def test_declaration_reassign(decl_node, reassign_decl, reassign_use): """Test that reassignments don't throw off declarations.""" assert name.declaration(reassign_use) is not decl_node assert name.declaration(reassign_use) is reassign_decl
def test_declaration_import(import_decl, import_use): """Test that import are also declarations.""" assert name.declaration(import_use) is import_decl
def test_declaration(decl_node, return_node, assign_node): """Test that the declaration of a name can be found.""" assert name.declaration(return_node) is decl_node assert name.declaration(assign_node) is decl_node