Completion\CompletionProviders\ExtensionMethodImportCompletionProviderTests.cs (112)
44foreach (var refKind in Enum.GetValues<ReferenceType>())
55=> (new[] { ReferenceType.None, ReferenceType.Project, ReferenceType.Metadata }).Select(refType => new[] { (object)refType });
83ReferenceType refType,
88ReferenceType.None => CreateMarkupForSingleProject(current, referenced, currentLanguage),
89ReferenceType.Project => GetMarkupWithReference(current, referenced, currentLanguage, referencedLanguage, true),
90ReferenceType.Metadata => GetMarkupWithReference(current, referenced, currentLanguage, referencedLanguage, false),
106public async Task TestPredefinedType(string type1, string type2, ReferenceType refType)
145public async Task UsingAliasInDeclaration(ReferenceType refType)
184public async Task UsingAliasInDeclaration_PrimitiveType(ReferenceType refType)
223public async Task UsingAliasInDeclaration_RegularType(ReferenceType refType)
262public async Task UsingAliasInDeclaration_GenericType(ReferenceType refType)
301public async Task UsingAliasInDeclaration_RegularTypeWithSameSimpleName(ReferenceType refType)
339public async Task UsingAliasInDeclaration_Namespace(ReferenceType refType)
379public async Task UsingAliasInUsage(ReferenceType refType)
418public async Task RegularType(string typeKind, ReferenceType refType)
457public async Task ObjectType(string typeKind, ReferenceType refType)
504public async Task ValueTupleType(string tupleType, ReferenceType refType)
544public async Task RegularTypeAsBase(string baseType, ReferenceType refType)
593public async Task BoundedGenericType(string type, ReferenceType refType)
640public async Task MatchingTypeParameter(string type, ReferenceType refType)
681[InlineData(ReferenceType.Project)]
682[InlineData(ReferenceType.Metadata)]
683public async Task TestInternalExtensionMethods_NoIVT_InReference(ReferenceType refType)
749var markup = GetMarkup(file2, file1, ReferenceType.None);
759[InlineData(ReferenceType.None)]
760[InlineData(ReferenceType.Project)]
761public async Task TestInternalExtensionMethods_WithIVT(ReferenceType refType)
797public async Task UserDefinedGenericType(ReferenceType refType)
869var markup = GetMarkup(file2, file1, ReferenceType.None);
937var markup = GetMarkup(file2, file1, ReferenceType.Project, currentLanguage: LanguageNames.CSharp, referencedLanguage: LanguageNames.VisualBasic);
1050var markup = GetMarkup(file2, file1, ReferenceType.None);
1101var markup = GetMarkup(file2, file1, ReferenceType.None);
1144var markup = GetMarkup(file2, file1, ReferenceType.None);
1181var markup = GetMarkup(file2, file1, ReferenceType.None);
1242[InlineData(ReferenceType.Project, "public")]
1243[InlineData(ReferenceType.Project, "internal")]
1244[InlineData(ReferenceType.Metadata, "public")] // We don't support internal extension method from non-source references.
1246public async Task TestExtensionMethodsInConflictingTypes(ReferenceType refType, string accessibility)
1286ReferenceType.Project => CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1287ReferenceType.Metadata => CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1416[InlineData(ReferenceType.Project, "[]", "ExtensionMethod2")]
1417[InlineData(ReferenceType.Project, "[][]", "ExtensionMethod3")]
1418[InlineData(ReferenceType.Project, "[,]", "ExtensionMethod4")]
1419[InlineData(ReferenceType.Project, "[][,]", "ExtensionMethod5")]
1420[InlineData(ReferenceType.Metadata, "[]", "ExtensionMethod2")]
1421[InlineData(ReferenceType.Metadata, "[][]", "ExtensionMethod3")]
1422[InlineData(ReferenceType.Metadata, "[,]", "ExtensionMethod4")]
1423[InlineData(ReferenceType.Metadata, "[][,]", "ExtensionMethod5")]
1424public async Task TestExtensionMethodsForSimpleArrayType(ReferenceType refType, string rank, string expectedName)
1465ReferenceType.Project => CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1466ReferenceType.Metadata => CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1478[InlineData(ReferenceType.Project, "[]", "ExtensionMethod2")]
1479[InlineData(ReferenceType.Project, "[][]", "ExtensionMethod3")]
1480[InlineData(ReferenceType.Project, "[,]", "ExtensionMethod4")]
1481[InlineData(ReferenceType.Project, "[][,]", "ExtensionMethod5")]
1482[InlineData(ReferenceType.Metadata, "[]", "ExtensionMethod2")]
1483[InlineData(ReferenceType.Metadata, "[][]", "ExtensionMethod3")]
1484[InlineData(ReferenceType.Metadata, "[,]", "ExtensionMethod4")]
1485[InlineData(ReferenceType.Metadata, "[][,]", "ExtensionMethod5")]
1486public async Task TestExtensionMethodsForGenericArrayType(ReferenceType refType, string rank, string expectedName)
1527ReferenceType.Project => CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1528ReferenceType.Metadata => CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1541[InlineData(ReferenceType.Project)]
1542[InlineData(ReferenceType.Metadata)]
1543public async Task TestGenericReceiverTypeWithConstraint(ReferenceType refType)
1576ReferenceType.Project => CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1577ReferenceType.Metadata => CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1589[InlineData(ReferenceType.Project, "(int,int)")]
1590[InlineData(ReferenceType.Project, "(int,int,int,int,int,int,int,int,int,int)")] // more than 8 tuple elements
1591[InlineData(ReferenceType.Metadata, "(int,int)")]
1592[InlineData(ReferenceType.Metadata, "(int,int,int,int,int,int,int,int,int,int)")] // more than 8 tuple elements
1593public async Task TestTupleArray(ReferenceType refType, string tupleType)
1621ReferenceType.Project => CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1622ReferenceType.Metadata => CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1634[InlineData(ReferenceType.Project, "(int[],int[])")]
1635[InlineData(ReferenceType.Project, "(int[],int[],int[],int[],int[],int[],int[],int[],int[],int[])")] // more than 8 tuple elements
1636[InlineData(ReferenceType.Metadata, "(int[],int[])")]
1637[InlineData(ReferenceType.Metadata, "(int[],int[],int[],int[],int[],int[],int[],int[],int[],int[])")] // more than 8 tuple elements
1638public async Task TestArrayTuple(ReferenceType refType, string tupleType)
1666ReferenceType.Project => CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1667ReferenceType.Metadata => CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1679[InlineData(ReferenceType.Project)]
1680[InlineData(ReferenceType.Metadata)]
1681public async Task TestDescriptionOfGenericReceiverType(ReferenceType refType)
1709ReferenceType.Project => CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1710ReferenceType.Metadata => CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1724[InlineData(ReferenceType.Project)]
1725[InlineData(ReferenceType.Metadata)]
1726public async Task TestDescriptionOfOverloads(ReferenceType refType)
1759ReferenceType.Project => CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1760ReferenceType.Metadata => CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1780[InlineData(ReferenceType.Project)]
1781[InlineData(ReferenceType.Metadata)]
1783public async Task TestBrowsableAlways(ReferenceType refType)
1814ReferenceType.Project => CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1815ReferenceType.Metadata => CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp),
1826[InlineData(ReferenceType.Project)]
1827[InlineData(ReferenceType.Metadata)]
1829public async Task TestBrowsableNever(ReferenceType refType)
1860ReferenceType.Project => (CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp), true),
1861ReferenceType.Metadata => (CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp), false),
1882[InlineData(ReferenceType.Project, true)]
1883[InlineData(ReferenceType.Project, false)]
1884[InlineData(ReferenceType.Metadata, true)]
1885[InlineData(ReferenceType.Metadata, false)]
1887public async Task TestBrowsableAdvanced(ReferenceType refType, bool hideAdvanced)
1920(ReferenceType.Project, _) => (CreateMarkupForProjectWithProjectReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp), true),
1921(ReferenceType.Metadata, true) => (CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp), false),
1922(ReferenceType.Metadata, false) => (CreateMarkupForProjectWithMetadataReference(srcDoc, refDoc, LanguageNames.CSharp, LanguageNames.CSharp), true),