Completion\CompletionProviders\ExtensionMemberImportCompletionProviderTests.cs (121)
44foreach (var refKind in Enum.GetValues<ReferenceType>())
55=> (new[] { ReferenceType.None, ReferenceType.Project, ReferenceType.Metadata }).Select(refType => new[] { (object)refType });
78ReferenceType refType,
83ReferenceType.None => CreateMarkupForSingleProject(current, referenced, currentLanguage),
84ReferenceType.Project => GetMarkupWithReference(current, referenced, currentLanguage, referencedLanguage, true),
85ReferenceType.Metadata => GetMarkupWithReference(current, referenced, currentLanguage, referencedLanguage, false),
104public async Task TestPredefinedType(string type1, string type2, ReferenceType refType)
143public async Task UsingAliasInDeclaration(ReferenceType refType)
182public async Task UsingAliasInDeclaration_PrimitiveType(ReferenceType refType)
221public async Task UsingAliasInDeclaration_RegularType(ReferenceType refType)
260public async Task UsingAliasInDeclaration_GenericType(ReferenceType refType)
299public async Task UsingAliasInDeclaration_RegularTypeWithSameSimpleName(ReferenceType refType)
337public async Task UsingAliasInDeclaration_Namespace(ReferenceType refType)
377public async Task UsingAliasInUsage(ReferenceType refType)
416public async Task RegularType(string typeKind, ReferenceType refType)
455public async Task ObjectType(string typeKind, ReferenceType refType)
502public async Task ValueTupleType(string tupleType, ReferenceType refType)
542public async Task RegularTypeAsBase(string baseType, ReferenceType refType)
591public async Task BoundedGenericType(string type, ReferenceType refType)
638public async Task MatchingTypeParameter(string type, ReferenceType refType)
679[InlineData(ReferenceType.Project)]
680[InlineData(ReferenceType.Metadata)]
681public async Task TestInternalExtensionMethods_NoIVT_InReference(ReferenceType refType)
747var markup = GetMarkup(file2, file1, ReferenceType.None);
757[InlineData(ReferenceType.None)]
758[InlineData(ReferenceType.Project)]
759public async Task TestInternalExtensionMethods_WithIVT(ReferenceType refType)
795public async Task UserDefinedGenericType(ReferenceType refType)
867var markup = GetMarkup(file2, file1, ReferenceType.None);
935var markup = GetMarkup(file2, file1, ReferenceType.Project, currentLanguage: LanguageNames.CSharp, referencedLanguage: LanguageNames.VisualBasic);
1048var markup = GetMarkup(file2, file1, ReferenceType.None);
1099var markup = GetMarkup(file2, file1, ReferenceType.None);
1142var markup = GetMarkup(file2, file1, ReferenceType.None);
1179var markup = GetMarkup(file2, file1, ReferenceType.None);
1240[InlineData(ReferenceType.Project, "public")]
1241[InlineData(ReferenceType.Project, "internal")]
1242[InlineData(ReferenceType.Metadata, "public")] // We don't support internal extension method from non-source references.
1244public async Task TestExtensionMethodsInConflictingTypes(ReferenceType refType, string accessibility)
1284ReferenceType.Project => CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1285ReferenceType.Metadata => CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1414[InlineData(ReferenceType.Project, "[]", "ExtensionMethod2")]
1415[InlineData(ReferenceType.Project, "[][]", "ExtensionMethod3")]
1416[InlineData(ReferenceType.Project, "[,]", "ExtensionMethod4")]
1417[InlineData(ReferenceType.Project, "[][,]", "ExtensionMethod5")]
1418[InlineData(ReferenceType.Metadata, "[]", "ExtensionMethod2")]
1419[InlineData(ReferenceType.Metadata, "[][]", "ExtensionMethod3")]
1420[InlineData(ReferenceType.Metadata, "[,]", "ExtensionMethod4")]
1421[InlineData(ReferenceType.Metadata, "[][,]", "ExtensionMethod5")]
1422public async Task TestExtensionMethodsForSimpleArrayType(ReferenceType refType, string rank, string expectedName)
1463ReferenceType.Project => CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1464ReferenceType.Metadata => CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1476[InlineData(ReferenceType.Project, "[]", "ExtensionMethod2")]
1477[InlineData(ReferenceType.Project, "[][]", "ExtensionMethod3")]
1478[InlineData(ReferenceType.Project, "[,]", "ExtensionMethod4")]
1479[InlineData(ReferenceType.Project, "[][,]", "ExtensionMethod5")]
1480[InlineData(ReferenceType.Metadata, "[]", "ExtensionMethod2")]
1481[InlineData(ReferenceType.Metadata, "[][]", "ExtensionMethod3")]
1482[InlineData(ReferenceType.Metadata, "[,]", "ExtensionMethod4")]
1483[InlineData(ReferenceType.Metadata, "[][,]", "ExtensionMethod5")]
1484public async Task TestExtensionMethodsForGenericArrayType(ReferenceType refType, string rank, string expectedName)
1525ReferenceType.Project => CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1526ReferenceType.Metadata => CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1539[InlineData(ReferenceType.Project)]
1540[InlineData(ReferenceType.Metadata)]
1541public async Task TestGenericReceiverTypeWithConstraint(ReferenceType refType)
1574ReferenceType.Project => CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1575ReferenceType.Metadata => CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1587[InlineData(ReferenceType.Project, "(int,int)")]
1588[InlineData(ReferenceType.Project, "(int,int,int,int,int,int,int,int,int,int)")] // more than 8 tuple elements
1589[InlineData(ReferenceType.Metadata, "(int,int)")]
1590[InlineData(ReferenceType.Metadata, "(int,int,int,int,int,int,int,int,int,int)")] // more than 8 tuple elements
1591public async Task TestTupleArray(ReferenceType refType, string tupleType)
1619ReferenceType.Project => CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1620ReferenceType.Metadata => CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1632[InlineData(ReferenceType.Project, "(int[],int[])")]
1633[InlineData(ReferenceType.Project, "(int[],int[],int[],int[],int[],int[],int[],int[],int[],int[])")] // more than 8 tuple elements
1634[InlineData(ReferenceType.Metadata, "(int[],int[])")]
1635[InlineData(ReferenceType.Metadata, "(int[],int[],int[],int[],int[],int[],int[],int[],int[],int[])")] // more than 8 tuple elements
1636public async Task TestArrayTuple(ReferenceType refType, string tupleType)
1664ReferenceType.Project => CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1665ReferenceType.Metadata => CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1677[InlineData(ReferenceType.Project)]
1678[InlineData(ReferenceType.Metadata)]
1679public async Task TestDescriptionOfGenericReceiverType(ReferenceType refType)
1707ReferenceType.Project => CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1708ReferenceType.Metadata => CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1722[InlineData(ReferenceType.Project)]
1723[InlineData(ReferenceType.Metadata)]
1724public async Task TestDescriptionOfOverloads(ReferenceType refType)
1757ReferenceType.Project => CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1758ReferenceType.Metadata => CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1778[InlineData(ReferenceType.Project)]
1779[InlineData(ReferenceType.Metadata)]
1781public async Task TestBrowsableAlways(ReferenceType refType)
1812ReferenceType.Project => CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1813ReferenceType.Metadata => CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1824[InlineData(ReferenceType.Project)]
1825[InlineData(ReferenceType.Metadata)]
1827public async Task TestBrowsableNever(ReferenceType refType)
1858ReferenceType.Project => (CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp), true),
1859ReferenceType.Metadata => (CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp), false),
1880[InlineData(ReferenceType.Project, true)]
1881[InlineData(ReferenceType.Project, false)]
1882[InlineData(ReferenceType.Metadata, true)]
1883[InlineData(ReferenceType.Metadata, false)]
1885public async Task TestBrowsableAdvanced(ReferenceType refType, bool hideAdvanced)
1918(ReferenceType.Project, _) => (CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp), true),
1919(ReferenceType.Metadata, true) => (CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp), false),
1920(ReferenceType.Metadata, false) => (CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp), true),
2329public async Task TestPredefinedType_ModernExtensionMethod(string type1, string type2, ReferenceType refType)
2372public async Task TestPredefinedType_ModernExtensionMethod_Static(string type1, string type2, ReferenceType refType)
2415public async Task TestPredefinedType_ModernExtensionMethod_Static_Alias(string type1, string type2, ReferenceType refType)
2459public async Task TestPredefinedType_ModernExtensionProperty(string type1, string type2, ReferenceType refType)
2501public async Task TestPredefinedType_ModernExtensionProperty_Static(string type1, string type2, ReferenceType refType)
2543public async Task TestPredefinedType_ModernExtensionProperty_Static_Alias(string type1, string type2, ReferenceType refType)
2585public async Task TestPredefinedType_ModernExtensionMethod_GenericType(ReferenceType refType)
2629public async Task TestPredefinedType_ModernExtensionMethod_GenericType_Static(ReferenceType refType)
2673public async Task TestPredefinedType_ModernExtensionProperty_GenericType(ReferenceType refType)
2717public async Task TestPredefinedType_ModernExtensionProperty_GenericType_Static(ReferenceType refType)