Skip to content

Commit 16598c5

Browse files
Collection expr
1 parent a95b627 commit 16598c5

File tree

1 file changed

+40
-110
lines changed

1 file changed

+40
-110
lines changed

src/EditorFeatures/CSharpTest/NavigateTo/NavigateToTests.cs

Lines changed: 40 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -926,17 +926,14 @@ static C2()
926926
}
927927
""", async w =>
928928
{
929-
var expecteditems = new List<NavigateToItem>
930-
{
929+
var items = (await _aggregator.GetItemsAsync("C")).ToList();
930+
items.Sort(CompareNavigateToItems);
931+
VerifyNavigateToResultItems([
931932
new("C1", NavigateToItemKind.Class, "csharp", "C1", null, s_emptyPrefixPatternMatch, null),
932933
new("C1", NavigateToItemKind.Method, "csharp", "C1", null, s_emptyPrefixPatternMatch, null),
933934
new("C2", NavigateToItemKind.Class, "csharp", "C2", null, s_emptyPrefixPatternMatch, null),
934935
new("C2", NavigateToItemKind.Method, "csharp", "C2", null, s_emptyPrefixPatternMatch, null), // this is the static ctor
935-
new("C2", NavigateToItemKind.Method, "csharp", "C2", null, s_emptyPrefixPatternMatch, null),
936-
};
937-
var items = (await _aggregator.GetItemsAsync("C")).ToList();
938-
items.Sort(CompareNavigateToItems);
939-
VerifyNavigateToResultItems(expecteditems, items);
936+
new("C2", NavigateToItemKind.Method, "csharp", "C2", null, s_emptyPrefixPatternMatch, null)], items);
940937
});
941938
}
942939

@@ -1018,13 +1015,12 @@ await TestAsync(testHost, composition, source, async w =>
10181015
var expecteditem1 = new NavigateToItem("get_keyword", NavigateToItemKind.Field, "csharp", null, null, s_emptyCamelCaseNonContiguousPrefixPatternMatch_NotCaseSensitive, null);
10191016
var expecteditem2 = new NavigateToItem("get_key_word", NavigateToItemKind.Field, "csharp", null, null, s_emptyCamelCaseNonContiguousPrefixPatternMatch_NotCaseSensitive, null);
10201017
var expecteditem3 = new NavigateToItem("GetKeyWord", NavigateToItemKind.Field, "csharp", null, null, s_emptyCamelCasePrefixPatternMatch, null);
1021-
var expecteditems = new List<NavigateToItem> { expecteditem1, expecteditem2, expecteditem3 };
10221018

10231019
var items = await _aggregator.GetItemsAsync("GK");
10241020

10251021
Assert.Equal(expecteditems.Count, items.Count());
10261022

1027-
VerifyNavigateToResultItems(expecteditems, items);
1023+
VerifyNavigateToResultItems([expecteditem1, expecteditem2, expecteditem3], items);
10281024
});
10291025
}
10301026

@@ -1036,11 +1032,10 @@ await TestAsync(testHost, composition, source, async w =>
10361032
{
10371033
var expecteditem1 = new NavigateToItem("get_key_word", NavigateToItemKind.Field, "csharp", null, null, s_emptyCamelCaseNonContiguousPrefixPatternMatch_NotCaseSensitive, null);
10381034
var expecteditem2 = new NavigateToItem("GetKeyWord", NavigateToItemKind.Field, "csharp", null, null, s_emptyCamelCaseExactPatternMatch, null);
1039-
var expecteditems = new List<NavigateToItem> { expecteditem1, expecteditem2 };
10401035

10411036
var items = await _aggregator.GetItemsAsync("GKW");
10421037

1043-
VerifyNavigateToResultItems(expecteditems, items);
1038+
VerifyNavigateToResultItems([expecteditem1, expecteditem2], items);
10441039
});
10451040
}
10461041

@@ -1052,11 +1047,10 @@ await TestAsync(testHost, composition, source, async w =>
10521047
{
10531048
var expecteditem1 = new NavigateToItem("get_key_word", NavigateToItemKind.Field, "csharp", null, null, s_emptyCamelCaseSubstringPatternMatch_NotCaseSensitive, null);
10541049
var expecteditem2 = new NavigateToItem("GetKeyWord", NavigateToItemKind.Field, "csharp", null, null, s_emptySubstringPatternMatch, null);
1055-
var expecteditems = new List<NavigateToItem> { expecteditem1, expecteditem2 };
10561050

10571051
var items = await _aggregator.GetItemsAsync("K W");
10581052

1059-
VerifyNavigateToResultItems(expecteditems, items);
1053+
VerifyNavigateToResultItems([expecteditem1, expecteditem2], items);
10601054
});
10611055
}
10621056

@@ -1088,17 +1082,13 @@ public async Task TermSplittingTest6(TestHost testHost, Composition composition)
10881082
var source = "class SyllableBreaking {int GetKeyWord; int get_key_word; string get_keyword; int getkeyword; int wake;}";
10891083
await TestAsync(testHost, composition, source, async w =>
10901084
{
1091-
var expecteditems = new List<NavigateToItem>
1092-
{
1085+
var items = await _aggregator.GetItemsAsync("get word");
1086+
1087+
VerifyNavigateToResultItems([
10931088
new("getkeyword", NavigateToItemKind.Field, "csharp", null, null, s_emptyFuzzyPatternMatch, null),
10941089
new("get_keyword", NavigateToItemKind.Field, "csharp", null, null, s_emptyFuzzyPatternMatch, null),
10951090
new("get_key_word", NavigateToItemKind.Field, "csharp", null, null,s_emptySubstringPatternMatch, null),
1096-
new("GetKeyWord", NavigateToItemKind.Field, "csharp", null, null, s_emptySubstringPatternMatch_NotCaseSensitive, null)
1097-
};
1098-
1099-
var items = await _aggregator.GetItemsAsync("get word");
1100-
1101-
VerifyNavigateToResultItems(expecteditems, items);
1091+
new("GetKeyWord", NavigateToItemKind.Field, "csharp", null, null, s_emptySubstringPatternMatch_NotCaseSensitive, null)], items);
11021092
});
11031093
}
11041094

@@ -1134,14 +1124,9 @@ void Goo()
11341124
""";
11351125
await TestAsync(testHost, composition, source, async w =>
11361126
{
1137-
var expecteditems = new List<NavigateToItem>
1138-
{
1139-
new("this", NavigateToItemKind.Property, "csharp", null, null, s_emptyExactPatternMatch, null),
1140-
};
1141-
11421127
var items = await _aggregator.GetItemsAsync("this");
11431128

1144-
VerifyNavigateToResultItems(expecteditems, items);
1129+
VerifyNavigateToResultItems([new("this", NavigateToItemKind.Property, "csharp", null, null, s_emptyExactPatternMatch, null)], items);
11451130
});
11461131
}
11471132

@@ -1151,14 +1136,9 @@ public async Task DottedPattern1(TestHost testHost, Composition composition)
11511136
var source = "namespace Goo { namespace Bar { class Baz { void Quux() { } } } }";
11521137
await TestAsync(testHost, composition, source, async w =>
11531138
{
1154-
var expecteditems = new List<NavigateToItem>
1155-
{
1156-
new("Quux", NavigateToItemKind.Method, "csharp", null, null, s_emptyPrefixPatternMatch, null)
1157-
};
1158-
11591139
var items = await _aggregator.GetItemsAsync("B.Q");
11601140

1161-
VerifyNavigateToResultItems(expecteditems, items);
1141+
VerifyNavigateToResultItems([new("Quux", NavigateToItemKind.Method, "csharp", null, null, s_emptyPrefixPatternMatch, null)], items);
11621142
});
11631143
}
11641144

@@ -1168,13 +1148,9 @@ public async Task DottedPattern2(TestHost testHost, Composition composition)
11681148
var source = "namespace Goo { namespace Bar { class Baz { void Quux() { } } } }";
11691149
await TestAsync(testHost, composition, source, async w =>
11701150
{
1171-
var expecteditems = new List<NavigateToItem>
1172-
{
1173-
};
1174-
11751151
var items = await _aggregator.GetItemsAsync("C.Q");
11761152

1177-
VerifyNavigateToResultItems(expecteditems, items);
1153+
VerifyNavigateToResultItems([], items);
11781154
});
11791155
}
11801156

@@ -1184,14 +1160,9 @@ public async Task DottedPattern3(TestHost testHost, Composition composition)
11841160
var source = "namespace Goo { namespace Bar { class Baz { void Quux() { } } } }";
11851161
await TestAsync(testHost, composition, source, async w =>
11861162
{
1187-
var expecteditems = new List<NavigateToItem>
1188-
{
1189-
new("Quux", NavigateToItemKind.Method, "csharp", null, null, s_emptyPrefixPatternMatch, null)
1190-
};
1191-
11921163
var items = await _aggregator.GetItemsAsync("B.B.Q");
11931164

1194-
VerifyNavigateToResultItems(expecteditems, items);
1165+
VerifyNavigateToResultItems([new("Quux", NavigateToItemKind.Method, "csharp", null, null, s_emptyPrefixPatternMatch, null)], items);
11951166
});
11961167
}
11971168

@@ -1201,14 +1172,9 @@ public async Task DottedPattern4(TestHost testHost, Composition composition)
12011172
var source = "namespace Goo { namespace Bar { class Baz { void Quux() { } } } }";
12021173
await TestAsync(testHost, composition, source, async w =>
12031174
{
1204-
var expecteditems = new List<NavigateToItem>
1205-
{
1206-
new("Quux", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null)
1207-
};
1208-
12091175
var items = await _aggregator.GetItemsAsync("Baz.Quux");
12101176

1211-
VerifyNavigateToResultItems(expecteditems, items);
1177+
VerifyNavigateToResultItems([new("Quux", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null)], items);
12121178
});
12131179
}
12141180

@@ -1218,14 +1184,9 @@ public async Task DottedPattern5(TestHost testHost, Composition composition)
12181184
var source = "namespace Goo { namespace Bar { class Baz { void Quux() { } } } }";
12191185
await TestAsync(testHost, composition, source, async w =>
12201186
{
1221-
var expecteditems = new List<NavigateToItem>
1222-
{
1223-
new("Quux", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null)
1224-
};
1225-
12261187
var items = await _aggregator.GetItemsAsync("G.B.B.Quux");
12271188

1228-
VerifyNavigateToResultItems(expecteditems, items);
1189+
VerifyNavigateToResultItems([new("Quux", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null)], items);
12291190
});
12301191
}
12311192

@@ -1235,13 +1196,9 @@ public async Task DottedPattern6(TestHost testHost, Composition composition)
12351196
var source = "namespace Goo { namespace Bar { class Baz { void Quux() { } } } }";
12361197
await TestAsync(testHost, composition, source, async w =>
12371198
{
1238-
var expecteditems = new List<NavigateToItem>
1239-
{
1240-
};
1241-
12421199
var items = await _aggregator.GetItemsAsync("F.F.B.B.Quux");
12431200

1244-
VerifyNavigateToResultItems(expecteditems, items);
1201+
VerifyNavigateToResultItems([], items);
12451202
});
12461203
}
12471204

@@ -1252,14 +1209,9 @@ public async Task DottedPattern7(TestHost testHost, Composition composition)
12521209
var source = "namespace Goo { namespace Bar { class Baz<X,Y,Z> { void Quux() { } } } }";
12531210
await TestAsync(testHost, composition, source, async w =>
12541211
{
1255-
var expecteditems = new List<NavigateToItem>
1256-
{
1257-
new("Quux", NavigateToItemKind.Method, "csharp", null, null, s_emptyPrefixPatternMatch, null)
1258-
};
1259-
12601212
var items = await _aggregator.GetItemsAsync("Baz.Q");
12611213

1262-
VerifyNavigateToResultItems(expecteditems, items);
1214+
VerifyNavigateToResultItems([new("Quux", NavigateToItemKind.Method, "csharp", null, null, s_emptyPrefixPatternMatch, null)], items);
12631215
});
12641216
}
12651217

@@ -1270,15 +1222,11 @@ public async Task DottedPatternMatchKind(TestHost testHost, Composition composit
12701222
var source = "namespace System { class Console { void Write(string s) { } void WriteLine(string s) { } } }";
12711223
await TestAsync(testHost, composition, source, async w =>
12721224
{
1273-
var expecteditems = new List<NavigateToItem>
1274-
{
1275-
new("Write", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null),
1276-
new("WriteLine", NavigateToItemKind.Method, "csharp", null, null, s_emptyPrefixPatternMatch, null)
1277-
};
1278-
12791225
var items = await _aggregator.GetItemsAsync("Console.Write");
12801226

1281-
VerifyNavigateToResultItems(expecteditems, items);
1227+
VerifyNavigateToResultItems([
1228+
new("Write", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null),
1229+
new("WriteLine", NavigateToItemKind.Method, "csharp", null, null, s_emptyPrefixPatternMatch, null)], items);
12821230
});
12831231
}
12841232

@@ -1315,15 +1263,12 @@ public void VisibleMethod_Generated() { }
13151263
_aggregator = new NavigateToTestAggregator(_provider);
13161264

13171265
var items = await _aggregator.GetItemsAsync("VisibleMethod");
1318-
var expectedItems = new List<NavigateToItem>()
1319-
{
1320-
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null),
1321-
new("VisibleMethod_Generated", NavigateToItemKind.Method, "csharp", null, null, s_emptyPrefixPatternMatch, null)
1322-
};
13231266

13241267
// The pattern matcher should match 'VisibleMethod' to both 'VisibleMethod' and 'VisibleMethod_Not', except that
13251268
// the _Not method is declared in a generated file.
1326-
VerifyNavigateToResultItems(expectedItems, items);
1269+
VerifyNavigateToResultItems([
1270+
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null),
1271+
new("VisibleMethod_Generated", NavigateToItemKind.Method, "csharp", null, null, s_emptyPrefixPatternMatch, null)], items);
13271272
}
13281273

13291274
[Theory, WorkItem("https://github.com/dotnet/roslyn/pull/11474")]
@@ -1741,13 +1686,10 @@ public void VisibleMethod() { }
17411686
_aggregator = new NavigateToTestAggregator(_provider);
17421687

17431688
var items = await _aggregator.GetItemsAsync("VisibleMethod");
1744-
var expectedItems = new List<NavigateToItem>()
1745-
{
1746-
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null),
1747-
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null)
1748-
};
17491689

1750-
VerifyNavigateToResultItems(expectedItems, items);
1690+
VerifyNavigateToResultItems([
1691+
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null),
1692+
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null)], items);
17511693

17521694
Assert.Single(items, i => i.SecondarySort.StartsWith("0000") && IsFromFile(i, "File1.cs"));
17531695
Assert.Single(items, i => i.SecondarySort.StartsWith("0001") && IsFromFile(i, "File2.cs"));
@@ -1786,13 +1728,10 @@ public void VisibleMethod() { }
17861728
_aggregator = new NavigateToTestAggregator(_provider);
17871729

17881730
var items = await _aggregator.GetItemsAsync("VisibleMethod");
1789-
var expectedItems = new List<NavigateToItem>()
1790-
{
1791-
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null),
1792-
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null)
1793-
};
17941731

1795-
VerifyNavigateToResultItems(expectedItems, items);
1732+
VerifyNavigateToResultItems([
1733+
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null),
1734+
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null)], items);
17961735

17971736
Assert.Single(items, i => i.SecondarySort.StartsWith("0000") && IsFromFile(i, "File1.cs"));
17981737
Assert.Single(items, i => i.SecondarySort.StartsWith("0001") && IsFromFile(i, "File2.cs"));
@@ -1831,13 +1770,10 @@ public void VisibleMethod() { }
18311770
_aggregator = new NavigateToTestAggregator(_provider);
18321771

18331772
var items = await _aggregator.GetItemsAsync("VisibleMethod");
1834-
var expectedItems = new List<NavigateToItem>()
1835-
{
1836-
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null),
1837-
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null)
1838-
};
18391773

1840-
VerifyNavigateToResultItems(expectedItems, items);
1774+
VerifyNavigateToResultItems([
1775+
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null),
1776+
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null)], items);
18411777

18421778
Assert.Single(items, i => i.SecondarySort.StartsWith("0000") && IsFromFile(i, "File1.cs"));
18431779
Assert.Single(items, i => i.SecondarySort.StartsWith("0002") && IsFromFile(i, "File2.cs"));
@@ -1876,13 +1812,10 @@ public void VisibleMethod() { }
18761812
_aggregator = new NavigateToTestAggregator(_provider);
18771813

18781814
var items = await _aggregator.GetItemsAsync("VisibleMethod");
1879-
var expectedItems = new List<NavigateToItem>()
1880-
{
1881-
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null),
1882-
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null)
1883-
};
18841815

1885-
VerifyNavigateToResultItems(expectedItems, items);
1816+
VerifyNavigateToResultItems([
1817+
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null),
1818+
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null)], items);
18861819

18871820
Assert.Single(items, i => i.SecondarySort.StartsWith("0000") && IsFromFile(i, "File1.cs"));
18881821
Assert.Single(items, i => i.SecondarySort.StartsWith("0002") && IsFromFile(i, "File2.cs"));
@@ -1921,13 +1854,10 @@ public void VisibleMethod() { }
19211854
_aggregator = new NavigateToTestAggregator(_provider);
19221855

19231856
var items = await _aggregator.GetItemsAsync("VisibleMethod");
1924-
var expectedItems = new List<NavigateToItem>()
1925-
{
1926-
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null),
1927-
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null)
1928-
};
19291857

1930-
VerifyNavigateToResultItems(expectedItems, items);
1858+
VerifyNavigateToResultItems([
1859+
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null),
1860+
new("VisibleMethod", NavigateToItemKind.Method, "csharp", null, null, s_emptyExactPatternMatch, null)], items);
19311861

19321862
Assert.Single(items, i => i.SecondarySort.StartsWith("0000") && IsFromFile(i, "File1.cs"));
19331863
Assert.Single(items, i => i.SecondarySort.StartsWith("0003") && IsFromFile(i, "File2.cs"));

0 commit comments

Comments
 (0)