Skip to content

Commit d13131e

Browse files
committed
Address test feedback
1 parent bf382ec commit d13131e

File tree

2 files changed

+28
-38
lines changed

2 files changed

+28
-38
lines changed

src/libraries/System.Collections.Concurrent/tests/ConcurrentDictionary/ConcurrentDictionaryTests.cs

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1105,28 +1105,23 @@ public void GetAlternateLookup_FailsWhenIncompatible()
11051105
Assert.False(dictionary.TryGetAlternateLookup<int>(out _));
11061106
}
11071107

1108+
public static IEnumerable<object[]> Dictionary_GetAlternateLookup_OperationsMatchUnderlyingDictionary_MemberData()
1109+
{
1110+
yield return new object[] { EqualityComparer<string>.Default };
1111+
yield return new object[] { StringComparer.Ordinal };
1112+
yield return new object[] { StringComparer.OrdinalIgnoreCase };
1113+
yield return new object[] { StringComparer.InvariantCulture };
1114+
yield return new object[] { StringComparer.InvariantCultureIgnoreCase };
1115+
yield return new object[] { StringComparer.CurrentCulture };
1116+
yield return new object[] { StringComparer.CurrentCultureIgnoreCase };
1117+
}
1118+
11081119
[Theory]
1109-
[InlineData(0)]
1110-
[InlineData(1)]
1111-
[InlineData(2)]
1112-
[InlineData(3)]
1113-
[InlineData(4)]
1114-
[InlineData(5)]
1115-
[InlineData(6)]
1116-
public void GetAlternateLookup_OperationsMatchUnderlyingDictionary(int mode)
1120+
[MemberData(nameof(Dictionary_GetAlternateLookup_OperationsMatchUnderlyingDictionary_MemberData))]
1121+
public void GetAlternateLookup_OperationsMatchUnderlyingDictionary(IEqualityComparer<string> comparer)
11171122
{
11181123
// Test with a variety of comparers to ensure that the alternate lookup is consistent with the underlying dictionary
1119-
ConcurrentDictionary<string, int> dictionary = new(mode switch
1120-
{
1121-
0 => EqualityComparer<string>.Default,
1122-
1 => StringComparer.Ordinal,
1123-
2 => StringComparer.OrdinalIgnoreCase,
1124-
3 => StringComparer.InvariantCulture,
1125-
4 => StringComparer.InvariantCultureIgnoreCase,
1126-
5 => StringComparer.CurrentCulture,
1127-
6 => StringComparer.CurrentCultureIgnoreCase,
1128-
_ => throw new ArgumentOutOfRangeException(nameof(mode))
1129-
});
1124+
ConcurrentDictionary<string, int> dictionary = new(comparer);
11301125
ConcurrentDictionary<string, int>.AlternateLookup<ReadOnlySpan<char>> lookup = dictionary.GetAlternateLookup<ReadOnlySpan<char>>();
11311126
Assert.Same(dictionary, lookup.Dictionary);
11321127
Assert.Same(lookup.Dictionary, lookup.Dictionary);

src/libraries/System.Collections/tests/Generic/CollectionExtensionsTests.cs

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -180,28 +180,23 @@ public void GetAlternateLookup_FailsWhenIncompatible()
180180
Assert.False(hashSet.TryGetAlternateLookup<string, int>(out _));
181181
}
182182

183+
public static IEnumerable<object[]> Dictionary_GetAlternateLookup_OperationsMatchUnderlyingDictionary_MemberData()
184+
{
185+
yield return new object[] { EqualityComparer<string>.Default };
186+
yield return new object[] { StringComparer.Ordinal };
187+
yield return new object[] { StringComparer.OrdinalIgnoreCase };
188+
yield return new object[] { StringComparer.InvariantCulture };
189+
yield return new object[] { StringComparer.InvariantCultureIgnoreCase };
190+
yield return new object[] { StringComparer.CurrentCulture };
191+
yield return new object[] { StringComparer.CurrentCultureIgnoreCase };
192+
}
193+
183194
[Theory]
184-
[InlineData(0)]
185-
[InlineData(1)]
186-
[InlineData(2)]
187-
[InlineData(3)]
188-
[InlineData(4)]
189-
[InlineData(5)]
190-
[InlineData(6)]
191-
public void Dictionary_GetAlternateLookup_OperationsMatchUnderlyingDictionary(int mode)
195+
[MemberData(nameof(Dictionary_GetAlternateLookup_OperationsMatchUnderlyingDictionary_MemberData))]
196+
public void Dictionary_GetAlternateLookup_OperationsMatchUnderlyingDictionary(IEqualityComparer<string> comparer)
192197
{
193198
// Test with a variety of comparers to ensure that the alternate lookup is consistent with the underlying dictionary
194-
Dictionary<string, int> dictionary = new(mode switch
195-
{
196-
0 => EqualityComparer<string>.Default,
197-
1 => StringComparer.Ordinal,
198-
2 => StringComparer.OrdinalIgnoreCase,
199-
3 => StringComparer.InvariantCulture,
200-
4 => StringComparer.InvariantCultureIgnoreCase,
201-
5 => StringComparer.CurrentCulture,
202-
6 => StringComparer.CurrentCultureIgnoreCase,
203-
_ => throw new ArgumentOutOfRangeException(nameof(mode))
204-
});
199+
Dictionary<string, int> dictionary = new(comparer);
205200
Dictionary<string, int>.AlternateLookup<ReadOnlySpan<char>> lookup = dictionary.GetAlternateLookup<string, int, ReadOnlySpan<char>>();
206201
Assert.Same(dictionary, lookup.Dictionary);
207202
Assert.Same(lookup.Dictionary, lookup.Dictionary);

0 commit comments

Comments
 (0)