13 instantiations of ImmutableSegmentedList
Microsoft.CodeAnalysis (13)
ImmutableSegmentedList`1.cs (6)
74
public static readonly ImmutableSegmentedList<T> Empty =
new
(new SegmentedList<T>());
146
return new
ImmutableSegmentedList
<T>(list);
175
return new
ImmutableSegmentedList
<T>(list);
207
=> new
ImmutableSegmentedList
<TOutput>(_list.ConvertAll(converter));
230
=> new
ImmutableSegmentedList
<T>(_list.FindAll(match));
298
return new
ImmutableSegmentedList
<T>(self._list.GetRange(index, count));
ImmutableSegmentedList`1+PrivateInterlocked.cs (3)
23
return new
ImmutableSegmentedList
<T>(list);
32
return new
ImmutableSegmentedList
<T>(list);
41
return new
ImmutableSegmentedList
<T>(list);
ImmutableSegmentedList`1+ValueBuilder.cs (4)
124
=> new
ImmutableSegmentedList
<TOutput>(ReadOnlyList.ConvertAll(converter));
142
=> new
ImmutableSegmentedList
<T>(ReadOnlyList.FindAll(match));
194
return new
ImmutableSegmentedList
<T>(ReadOnlyList.GetRange(index, count));
325
_list = new
ImmutableSegmentedList
<T>(ReadOnlyList);
393 references to ImmutableSegmentedList
Microsoft.CodeAnalysis (132)
Collections\ImmutableArrayExtensions.cs (1)
960
internal static int BinarySearch<TElement, TValue>(this
ImmutableSegmentedList
<TElement> array, TValue value, Func<TElement, TValue, int> comparer)
ImmutableSegmentedList.cs (15)
14
public static
ImmutableSegmentedList
<T> Create<T>()
15
=>
ImmutableSegmentedList
<T>.Empty;
18
public static
ImmutableSegmentedList
<T> Create<T>(T item)
19
=>
ImmutableSegmentedList
<T>.Empty.Add(item);
22
public static
ImmutableSegmentedList
<T> Create<T>(params T[] items)
23
=>
ImmutableSegmentedList
<T>.Empty.AddRange(items);
26
public static
ImmutableSegmentedList
<T>.Builder CreateBuilder<T>()
27
=>
ImmutableSegmentedList
<T>.Empty.ToBuilder();
30
public static
ImmutableSegmentedList
<T> CreateRange<T>(IEnumerable<T> items)
31
=>
ImmutableSegmentedList
<T>.Empty.AddRange(items);
34
public static
ImmutableSegmentedList
<T> ToImmutableSegmentedList<T>(this IEnumerable<T> source)
36
if (source is
ImmutableSegmentedList
<T> existingList)
39
return
ImmutableSegmentedList
<T>.Empty.AddRange(source);
43
public static
ImmutableSegmentedList
<T> ToImmutableSegmentedList<T>(this
ImmutableSegmentedList
<T>.Builder builder)
ImmutableSegmentedList`1.cs (61)
18
/// <para>There are different scenarios best for <see cref="
ImmutableSegmentedList
{T}"/> and others
22
/// <see cref="
ImmutableSegmentedList
{T}"/>:</para>
27
/// <description><see cref="
ImmutableSegmentedList
{T}"/> Complexity</description>
71
internal readonly partial struct ImmutableSegmentedList<T> : IImmutableList<T>, IReadOnlyList<T>, IList<T>, IList, IEquatable<
ImmutableSegmentedList
<T>>
74
public static readonly
ImmutableSegmentedList
<T> Empty = new(new SegmentedList<T>());
112
public static bool operator ==(
ImmutableSegmentedList
<T> left,
ImmutableSegmentedList
<T> right)
115
public static bool operator !=(
ImmutableSegmentedList
<T> left,
ImmutableSegmentedList
<T> right)
118
public static bool operator ==(
ImmutableSegmentedList
<T>? left,
ImmutableSegmentedList
<T>? right)
121
public static bool operator !=(
ImmutableSegmentedList
<T>? left,
ImmutableSegmentedList
<T>? right)
127
var
self = this;
139
public
ImmutableSegmentedList
<T> Add(T value)
141
var
self = this;
159
public
ImmutableSegmentedList
<T> AddRange(IEnumerable<T> items)
161
var
self = this;
169
if (items is
ImmutableSegmentedList
<T> immutableList)
171
else if (items is
ImmutableSegmentedList
<T>.Builder builder)
199
public
ImmutableSegmentedList
<T> Clear()
206
public
ImmutableSegmentedList
<TOutput> ConvertAll<TOutput>(Converter<T, TOutput> converter)
229
public
ImmutableSegmentedList
<T> FindAll(Predicate<T> match)
255
var
self = this;
270
var
self = this;
291
public
ImmutableSegmentedList
<T> GetRange(int index, int count)
293
var
self = this;
308
public
ImmutableSegmentedList
<T> Insert(int index, T item)
310
var
self = this;
323
public
ImmutableSegmentedList
<T> InsertRange(int index, IEnumerable<T> items)
325
var
self = this;
339
var
self = this;
359
public
ImmutableSegmentedList
<T> Remove(T value)
361
var
self = this;
371
public
ImmutableSegmentedList
<T> Remove(T value, IEqualityComparer<T>? equalityComparer)
373
var
self = this;
383
public
ImmutableSegmentedList
<T> RemoveAll(Predicate<T> match)
393
public
ImmutableSegmentedList
<T> RemoveAt(int index)
402
public
ImmutableSegmentedList
<T> RemoveRange(IEnumerable<T> items)
407
var
self = this;
426
public
ImmutableSegmentedList
<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T>? equalityComparer)
431
var
self = this;
450
public
ImmutableSegmentedList
<T> RemoveRange(int index, int count)
452
var
self = this;
466
public
ImmutableSegmentedList
<T> Replace(T oldValue, T newValue)
468
var
self = this;
480
public
ImmutableSegmentedList
<T> Replace(T oldValue, T newValue, IEqualityComparer<T>? equalityComparer)
482
var
self = this;
494
public
ImmutableSegmentedList
<T> Reverse()
496
var
self = this;
506
public
ImmutableSegmentedList
<T> Reverse(int index, int count)
514
public
ImmutableSegmentedList
<T> SetItem(int index, T value)
523
public
ImmutableSegmentedList
<T> Sort()
525
var
self = this;
537
public
ImmutableSegmentedList
<T> Sort(IComparer<T>? comparer)
539
var
self = this;
551
public
ImmutableSegmentedList
<T> Sort(Comparison<T> comparison)
558
var
self = this;
570
public
ImmutableSegmentedList
<T> Sort(int index, int count, IComparer<T>? comparer)
590
return obj is
ImmutableSegmentedList
<T> other
594
public bool Equals(
ImmutableSegmentedList
<T> other)
ImmutableSegmentedList`1+Builder.cs (5)
21
internal Builder(
ImmutableSegmentedList
<T> list)
78
public
ImmutableSegmentedList
<TOutput> ConvertAll<TOutput>(Converter<T, TOutput> converter)
101
public
ImmutableSegmentedList
<T> FindAll(Predicate<T> match)
141
public
ImmutableSegmentedList
<T> GetRange(int index, int count)
217
public
ImmutableSegmentedList
<T> ToImmutable()
ImmutableSegmentedList`1+PrivateInterlocked.cs (9)
17
internal static
ImmutableSegmentedList
<T> VolatileRead(in
ImmutableSegmentedList
<T> location)
26
internal static
ImmutableSegmentedList
<T> InterlockedExchange(ref
ImmutableSegmentedList
<T> location,
ImmutableSegmentedList
<T> value)
35
internal static
ImmutableSegmentedList
<T> InterlockedCompareExchange(ref
ImmutableSegmentedList
<T> location,
ImmutableSegmentedList
<T> value,
ImmutableSegmentedList
<T> comparand)
ImmutableSegmentedList`1+ValueBuilder.cs (7)
19
private
ImmutableSegmentedList
<T> _list;
27
internal ValueBuilder(
ImmutableSegmentedList
<T> list)
74
var
originalList = RoslynImmutableInterlocked.InterlockedExchange(ref _list, default);
123
public readonly
ImmutableSegmentedList
<TOutput> ConvertAll<TOutput>(Converter<T, TOutput> converter)
141
public readonly
ImmutableSegmentedList
<T> FindAll(Predicate<T> match)
189
public
ImmutableSegmentedList
<T> GetRange(int index, int count)
323
public
ImmutableSegmentedList
<T> ToImmutable()
ImmutableSegmentedListExtensions.cs (8)
15
public static bool All<T>(this
ImmutableSegmentedList
<T> immutableList, Func<T, bool> predicate)
31
public static bool Any<T>(this
ImmutableSegmentedList
<T> immutableList)
39
public static bool Any<T>(this
ImmutableSegmentedList
<T>.Builder builder)
47
public static bool Any<T>(this
ImmutableSegmentedList
<T> immutableList, Func<T, bool> predicate)
63
public static T Last<T>(this
ImmutableSegmentedList
<T> immutableList)
72
public static T Last<T>(this
ImmutableSegmentedList
<T>.Builder builder)
84
public static T Last<T>(this
ImmutableSegmentedList
<T> immutableList, Func<T, bool> predicate)
101
public static IEnumerable<TResult> Select<T, TResult>(this
ImmutableSegmentedList
<T> immutableList, Func<T, TResult> selector)
RoslynImmutableInterlocked.cs (26)
30
public static bool Update<T>(ref
ImmutableSegmentedList
<T> location, Func<
ImmutableSegmentedList
<T>,
ImmutableSegmentedList
<T>> transformer)
35
var
oldValue =
ImmutableSegmentedList
<T>.PrivateInterlocked.VolatileRead(in location);
38
var
newValue = transformer(oldValue);
45
var
interlockedResult = InterlockedCompareExchange(ref location, newValue, oldValue);
71
public static bool Update<T, TArg>(ref
ImmutableSegmentedList
<T> location, Func<
ImmutableSegmentedList
<T>, TArg,
ImmutableSegmentedList
<T>> transformer, TArg transformerArgument)
76
var
oldValue =
ImmutableSegmentedList
<T>.PrivateInterlocked.VolatileRead(in location);
79
var
newValue = transformer(oldValue, transformerArgument);
86
var
interlockedResult = InterlockedCompareExchange(ref location, newValue, oldValue);
102
public static
ImmutableSegmentedList
<T> InterlockedExchange<T>(ref
ImmutableSegmentedList
<T> location,
ImmutableSegmentedList
<T> value)
104
return
ImmutableSegmentedList
<T>.PrivateInterlocked.InterlockedExchange(ref location, value);
116
public static
ImmutableSegmentedList
<T> InterlockedCompareExchange<T>(ref
ImmutableSegmentedList
<T> location,
ImmutableSegmentedList
<T> value,
ImmutableSegmentedList
<T> comparand)
118
return
ImmutableSegmentedList
<T>.PrivateInterlocked.InterlockedCompareExchange(ref location, value, comparand);
130
public static bool InterlockedInitialize<T>(ref
ImmutableSegmentedList
<T> location,
ImmutableSegmentedList
<T> value)
132
return InterlockedCompareExchange(ref location, value, default(
ImmutableSegmentedList
<T>)).IsDefault;
Microsoft.CodeAnalysis.UnitTests (261)
Collections\ImmutableListTestBase.cs (86)
28
internal abstract IReadOnlyList<T> GetListQuery<T>(
ImmutableSegmentedList
<T> list);
30
private protected abstract
ImmutableSegmentedList
<TOutput> ConvertAllImpl<T, TOutput>(
ImmutableSegmentedList
<T> list, Converter<T, TOutput> converter);
32
private protected abstract void ForEachImpl<T>(
ImmutableSegmentedList
<T> list, Action<T> action);
34
private protected abstract
ImmutableSegmentedList
<T> GetRangeImpl<T>(
ImmutableSegmentedList
<T> list, int index, int count);
36
private protected abstract void CopyToImpl<T>(
ImmutableSegmentedList
<T> list, T[] array);
38
private protected abstract void CopyToImpl<T>(
ImmutableSegmentedList
<T> list, T[] array, int arrayIndex);
40
private protected abstract void CopyToImpl<T>(
ImmutableSegmentedList
<T> list, int index, T[] array, int arrayIndex, int count);
42
private protected abstract bool ExistsImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> match);
44
private protected abstract T? FindImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> match);
46
private protected abstract
ImmutableSegmentedList
<T> FindAllImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> match);
48
private protected abstract int FindIndexImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> match);
50
private protected abstract int FindIndexImpl<T>(
ImmutableSegmentedList
<T> list, int startIndex, Predicate<T> match);
52
private protected abstract int FindIndexImpl<T>(
ImmutableSegmentedList
<T> list, int startIndex, int count, Predicate<T> match);
54
private protected abstract T? FindLastImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> match);
56
private protected abstract int FindLastIndexImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> match);
58
private protected abstract int FindLastIndexImpl<T>(
ImmutableSegmentedList
<T> list, int startIndex, Predicate<T> match);
60
private protected abstract int FindLastIndexImpl<T>(
ImmutableSegmentedList
<T> list, int startIndex, int count, Predicate<T> match);
62
private protected abstract bool TrueForAllImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> test);
64
private protected abstract int BinarySearchImpl<T>(
ImmutableSegmentedList
<T> list, T item);
66
private protected abstract int BinarySearchImpl<T>(
ImmutableSegmentedList
<T> list, T item, IComparer<T>? comparer);
68
private protected abstract int BinarySearchImpl<T>(
ImmutableSegmentedList
<T> list, int index, int count, T item, IComparer<T>? comparer);
74
CopyToImpl(
ImmutableSegmentedList
<int>.Empty, array);
75
CopyToImpl(
ImmutableSegmentedList
<int>.Empty, array, 0);
76
CopyToImpl(
ImmutableSegmentedList
<int>.Empty, 0, array, 0, 0);
77
((ICollection)this.GetListQuery(
ImmutableSegmentedList
<int>.Empty)).CopyTo(array, 0);
83
var
list = ImmutableSegmentedList.Create(1, 2);
114
ForEachImpl(
ImmutableSegmentedList
<int>.Empty, n => { throw ExceptionUtilities.Unreachable(); });
116
var
list =
ImmutableSegmentedList
<int>.Empty.AddRange(Enumerable.Range(5, 3));
134
Assert.False(ExistsImpl(
ImmutableSegmentedList
<int>.Empty, n => true));
136
var
list =
ImmutableSegmentedList
<int>.Empty.AddRange(Enumerable.Range(1, 5));
144
Assert.True(FindAllImpl(
ImmutableSegmentedList
<int>.Empty, n => true).IsEmpty);
145
var
list =
ImmutableSegmentedList
<int>.Empty.AddRange(new[] { 2, 3, 4, 5, 6 });
146
var
actual = FindAllImpl(list, n => n % 2 == 1);
154
Assert.Equal(0, FindImpl(
ImmutableSegmentedList
<int>.Empty, n => true));
155
var
list =
ImmutableSegmentedList
<int>.Empty.AddRange(new[] { 2, 3, 4, 5, 6 });
162
Assert.Equal(0, FindLastImpl(
ImmutableSegmentedList
<int>.Empty, n => { throw ExceptionUtilities.Unreachable(); }));
163
var
list =
ImmutableSegmentedList
<int>.Empty.AddRange(new[] { 2, 3, 4, 5, 6 });
170
Assert.Equal(-1, FindIndexImpl(
ImmutableSegmentedList
<int>.Empty, n => true));
171
Assert.Equal(-1, FindIndexImpl(
ImmutableSegmentedList
<int>.Empty, 0, n => true));
172
Assert.Equal(-1, FindIndexImpl(
ImmutableSegmentedList
<int>.Empty, 0, 0, n => true));
175
var
list =
ImmutableSegmentedList
<int>.Empty.AddRange(Enumerable.Range(100, 5).Concat(Enumerable.Range(100, 5)));
224
Assert.Equal(-1, FindLastIndexImpl(
ImmutableSegmentedList
<int>.Empty, n => true));
225
Assert.Equal(-1, FindLastIndexImpl(
ImmutableSegmentedList
<int>.Empty, 0, n => true));
226
Assert.Equal(-1, FindLastIndexImpl(
ImmutableSegmentedList
<int>.Empty, 0, 0, n => true));
229
var
list =
ImmutableSegmentedList
<int>.Empty.AddRange(Enumerable.Range(100, 5).Concat(Enumerable.Range(100, 5)));
332
Assert.True(ConvertAllImpl<int, float>(
ImmutableSegmentedList
<int>.Empty, n => n).IsEmpty);
333
var
list =
ImmutableSegmentedList
<int>.Empty.AddRange(Enumerable.Range(5, 10));
336
var
actual = ConvertAllImpl(list, converter);
343
Assert.True(GetRangeImpl(
ImmutableSegmentedList
<int>.Empty, 0, 0).IsEmpty);
344
var
list =
ImmutableSegmentedList
<int>.Empty.AddRange(Enumerable.Range(5, 10));
352
var
actual = GetRangeImpl(list, index, count);
361
Assert.True(TrueForAllImpl(
ImmutableSegmentedList
<int>.Empty, n => false));
362
var
list =
ImmutableSegmentedList
<int>.Empty.AddRange(Enumerable.Range(5, 10));
371
var
list =
ImmutableSegmentedList
<int>.Empty.AddRange(Enumerable.Range(5, 10));
382
var
list =
ImmutableSegmentedList
<int>.Empty.AddRange(Enumerable.Range(5, 10));
396
Assert.Throws<ArgumentNullException>("comparison", () => this.SortTestHelper(
ImmutableSegmentedList
<int>.Empty, (Comparison<int>)null!));
403
ImmutableSegmentedList
<int>.Empty,
404
ImmutableSegmentedList
<int>.Empty.AddRange(Enumerable.Range(1, 50)),
405
ImmutableSegmentedList
<int>.Empty.AddRange(Enumerable.Range(1, 50).Reverse()),
408
foreach (
var
scenario in scenarios)
451
var
query = basis.ToImmutableSegmentedList();
493
var
query = inputData.ToImmutableSegmentedList();
527
private protected abstract void RemoveAllTestHelper<T>(
ImmutableSegmentedList
<T> list, Predicate<T> test);
529
private protected abstract void ReverseTestHelper<T>(
ImmutableSegmentedList
<T> list, int index, int count);
531
private protected abstract List<T> SortTestHelper<T>(
ImmutableSegmentedList
<T> list);
533
private protected abstract List<T> SortTestHelper<T>(
ImmutableSegmentedList
<T> list, Comparison<T> comparison);
535
private protected abstract List<T> SortTestHelper<T>(
ImmutableSegmentedList
<T> list, IComparer<T>? comparer);
537
private protected abstract List<T> SortTestHelper<T>(
ImmutableSegmentedList
<T> list, int index, int count, IComparer<T>? comparer);
546
/// Asserts that the <see cref="
ImmutableSegmentedList
{T}"/> or <see cref="
ImmutableSegmentedList
{T}.Builder"/>'s
569
private void TrueForAllTestHelper<T>(
ImmutableSegmentedList
<T> list, Predicate<T> test)
Collections\ImmutableSegmentedListBuilderTest.cs (57)
28
ImmutableSegmentedList
<string>.Builder builder = ImmutableSegmentedList.CreateBuilder<string>();
35
var builder =
ImmutableSegmentedList
<int>.Empty.ToBuilder();
44
var
list = builder.ToImmutable();
56
var
list =
ImmutableSegmentedList
<int>.Empty.Add(1);
67
var
list2 = builder.ToImmutable();
82
var mutable =
ImmutableSegmentedList
<int>.Empty.ToBuilder();
83
var
immutable1 = mutable.ToImmutable();
87
var
immutable2 = mutable.ToImmutable();
96
var builder =
ImmutableSegmentedList
<int>.Empty.AddRange(Enumerable.Range(1, 10)).ToBuilder();
118
var
collection =
ImmutableSegmentedList
<int>.Empty.Add(1);
123
var
newImmutable = builder.ToImmutable();
131
var mutable =
ImmutableSegmentedList
<int>.Empty.ToBuilder();
144
var mutable =
ImmutableSegmentedList
<int>.Empty.ToBuilder();
161
var mutable =
ImmutableSegmentedList
<int>.Empty.ToBuilder();
175
var mutable =
ImmutableSegmentedList
<int>.Empty.ToBuilder();
207
var mutable =
ImmutableSegmentedList
<int>.Empty.ToBuilder();
359
ImmutableSegmentedList
<string>.Builder builder = ImmutableSegmentedList.CreateBuilder<string>();
379
var
list = new[] { 1, 2, 3 }.ToImmutableSegmentedList();
380
var builder = new
ImmutableSegmentedList
<int>.Builder(list);
395
var
list = new[] { 1, 2, 3 }.ToImmutableSegmentedList();
396
var builder = new
ImmutableSegmentedList
<int>.Builder(list);
404
ImmutableSegmentedList
<int>.Builder builder = ImmutableSegmentedList.CreateBuilder<int>();
409
var
list = builder.ToImmutableSegmentedList();
422
ImmutableSegmentedList
<int>.Builder? nullBuilder = null;
428
return
ImmutableSegmentedList
<T>.Empty.AddRange(contents).ToBuilder();
431
private protected override void RemoveAllTestHelper<T>(
ImmutableSegmentedList
<T> list, Predicate<T> test)
442
private protected override void ReverseTestHelper<T>(
ImmutableSegmentedList
<T> list, int index, int count)
451
internal override IReadOnlyList<T> GetListQuery<T>(
ImmutableSegmentedList
<T> list)
456
private protected override
ImmutableSegmentedList
<TOutput> ConvertAllImpl<T, TOutput>(
ImmutableSegmentedList
<T> list, Converter<T, TOutput> converter)
459
private protected override void ForEachImpl<T>(
ImmutableSegmentedList
<T> list, Action<T> action)
462
private protected override
ImmutableSegmentedList
<T> GetRangeImpl<T>(
ImmutableSegmentedList
<T> list, int index, int count)
465
private protected override void CopyToImpl<T>(
ImmutableSegmentedList
<T> list, T[] array)
468
private protected override void CopyToImpl<T>(
ImmutableSegmentedList
<T> list, T[] array, int arrayIndex)
471
private protected override void CopyToImpl<T>(
ImmutableSegmentedList
<T> list, int index, T[] array, int arrayIndex, int count)
474
private protected override bool ExistsImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> match)
477
private protected override T? FindImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> match)
481
private protected override
ImmutableSegmentedList
<T> FindAllImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> match)
484
private protected override int FindIndexImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> match)
487
private protected override int FindIndexImpl<T>(
ImmutableSegmentedList
<T> list, int startIndex, Predicate<T> match)
490
private protected override int FindIndexImpl<T>(
ImmutableSegmentedList
<T> list, int startIndex, int count, Predicate<T> match)
493
private protected override T? FindLastImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> match)
497
private protected override int FindLastIndexImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> match)
500
private protected override int FindLastIndexImpl<T>(
ImmutableSegmentedList
<T> list, int startIndex, Predicate<T> match)
503
private protected override int FindLastIndexImpl<T>(
ImmutableSegmentedList
<T> list, int startIndex, int count, Predicate<T> match)
506
private protected override bool TrueForAllImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> test)
509
private protected override int BinarySearchImpl<T>(
ImmutableSegmentedList
<T> list, T item)
512
private protected override int BinarySearchImpl<T>(
ImmutableSegmentedList
<T> list, T item, IComparer<T>? comparer)
515
private protected override int BinarySearchImpl<T>(
ImmutableSegmentedList
<T> list, int index, int count, T item, IComparer<T>? comparer)
518
private protected override List<T> SortTestHelper<T>(
ImmutableSegmentedList
<T> list)
525
private protected override List<T> SortTestHelper<T>(
ImmutableSegmentedList
<T> list, Comparison<T> comparison)
532
private protected override List<T> SortTestHelper<T>(
ImmutableSegmentedList
<T> list, IComparer<T>? comparer)
539
private protected override List<T> SortTestHelper<T>(
ImmutableSegmentedList
<T> list, int index, int count, IComparer<T>? comparer)
Collections\ImmutableSegmentedListTest.cs (112)
43
var
actual =
ImmutableSegmentedList
<int>.Empty;
107
var
empty =
ImmutableSegmentedList
<GenericParameterHelper?>.Empty;
108
Assert.True(IsSame(empty,
ImmutableSegmentedList
<GenericParameterHelper>.Empty));
126
var
list =
ImmutableSegmentedList
<int>.Empty;
139
var
bulkList =
ImmutableSegmentedList
<int>.Empty.AddRange(Enumerable.Range(1, 10).Select(i => i * 10));
146
var
list =
ImmutableSegmentedList
<int>.Empty;
149
list = list.AddRange(
ImmutableSegmentedList
<int>.Empty.AddRange(new[] { 6, 7, 8 }));
151
list = list.AddRange(
ImmutableSegmentedList
<int>.Empty.AddRange(Enumerable.Range(9, 1000)));
158
var
list =
ImmutableSegmentedList
<int>.Empty;
159
ImmutableSegmentedList
<int>.Builder builder = ImmutableSegmentedList.CreateBuilder<int>();
170
var
emptyList = ImmutableSegmentedList.Create<string>();
176
var
nonEmptyListDefaultComparer = ImmutableSegmentedList.Create("5");
193
var
list =
ImmutableSegmentedList
<int>.Empty;
245
var
list =
ImmutableSegmentedList
<int>.Empty;
269
var
list = ImmutableSegmentedList.Create(1);
278
var
list =
ImmutableSegmentedList
<int>.Empty;
294
var
list =
ImmutableSegmentedList
<int>.Empty;
295
var
nonEmptyList = ImmutableSegmentedList.Create(1);
301
list = list.InsertRange(2,
ImmutableSegmentedList
<int>.Empty);
302
list = list.InsertRange(3,
ImmutableSegmentedList
<int>.Empty.InsertRange(0, Enumerable.Range(4, 100)));
312
var
list =
ImmutableSegmentedList
<GenericParameterHelper?>.Empty;
332
var
collection = ImmutableSegmentedList.Create(1, 2, 3);
333
var
modified = collection.Remove(2, null);
345
ImmutableSegmentedList
<int> list =
ImmutableSegmentedList
<int>.Empty;
369
System.Collections.Immutable.IImmutableList<int> list2 =
ImmutableSegmentedList
<int>.Empty;
396
var
list =
ImmutableSegmentedList
<int>.Empty;
415
var
list =
ImmutableSegmentedList
<int>.Empty;
422
var
list =
ImmutableSegmentedList
<int>.Empty;
450
var
list =
ImmutableSegmentedList
<string>.Empty;
473
var
list = ImmutableSegmentedList.CreateRange(Enumerable.Range(1, 3));
525
var
list =
ImmutableSegmentedList
<int>.Empty.Add(3).Add(5).Add(8);
534
list =
ImmutableSegmentedList
<int>.Empty.Add(3).Add(3).Add(5);
544
var
list = ImmutableSegmentedList.Create(new Person { Name = "Andrew", Age = 20 });
546
var
updatedList = list.Replace(newAge, newAge, new NameOnlyEqualityComparer());
562
Assert.Throws<ArgumentException>("oldValue", () =>
ImmutableSegmentedList
<int>.Empty.Replace(5, 3));
568
Assert.False(
ImmutableSegmentedList
<int>.Empty.Equals(null));
569
Assert.False(
ImmutableSegmentedList
<int>.Empty.Equals("hi"));
570
Assert.True(
ImmutableSegmentedList
<int>.Empty.Equals(
ImmutableSegmentedList
<int>.Empty));
571
Assert.False(
ImmutableSegmentedList
<int>.Empty.Add(3).Equals(
ImmutableSegmentedList
<int>.Empty.Add(3)));
579
ImmutableSegmentedList
<string> list = ImmutableSegmentedList.Create<string>();
595
ImmutableSegmentedList
<string> list = new[] { "a", "b" }.ToImmutableSegmentedList();
605
var
list = ImmutableSegmentedList.Create("a");
612
Assert.Throws<ArgumentNullException>("match", () =>
ImmutableSegmentedList
<int>.Empty.RemoveAll(null!));
618
Assert.True(
ImmutableSegmentedList
<int>.Empty.RemoveRange(0, 0).IsEmpty);
620
var
list = ImmutableSegmentedList.Create(1, 2, 3);
632
var
list = ImmutableSegmentedList.Create(1, 2, 3);
633
var
removed2eq = list.RemoveRange(new[] { 2 }, null);
641
var
list = ImmutableSegmentedList.Create(1, 2, 3);
644
ImmutableSegmentedList
<int> removed2 = list.RemoveRange(new[] { 2 });
648
ImmutableSegmentedList
<int> removed13 = list.RemoveRange(new[] { 1, 3, 5 });
656
var
listWithDuplicates = ImmutableSegmentedList.Create(1, 2, 2, 3);
667
var
list = ImmutableSegmentedList.Create("a");
689
var
collection = ImmutableSegmentedList.Create(1);
714
var
emptyList = ImmutableSegmentedList.Create<int>();
717
var
populatedList = ImmutableSegmentedList.Create(3, 2, 1);
724
var
emptyList = ImmutableSegmentedList.Create<int>();
729
var
listOfOne = emptyList.Add(5);
773
ImmutableSegmentedList
<double> list = ImmutableSegmentedList.Create<double>(1, 2, 3);
815
var
list = new[] { 1, 2, 3 }.ToImmutableSegmentedList();
830
var
list = new[] { 1, 2, 3 }.ToImmutableSegmentedList();
837
return
ImmutableSegmentedList
<T>.Empty.AddRange(contents);
840
private protected override void RemoveAllTestHelper<T>(
ImmutableSegmentedList
<T> list, Predicate<T> test)
844
var
actual = list.RemoveAll(test);
848
private protected override void ReverseTestHelper<T>(
ImmutableSegmentedList
<T> list, int index, int count)
852
var
actual = list.Reverse(index, count);
856
private protected override List<T> SortTestHelper<T>(
ImmutableSegmentedList
<T> list)
861
private protected override List<T> SortTestHelper<T>(
ImmutableSegmentedList
<T> list, Comparison<T> comparison)
866
private protected override List<T> SortTestHelper<T>(
ImmutableSegmentedList
<T> list, IComparer<T>? comparer)
871
private protected override List<T> SortTestHelper<T>(
ImmutableSegmentedList
<T> list, int index, int count, IComparer<T>? comparer)
876
internal override IReadOnlyList<T> GetListQuery<T>(
ImmutableSegmentedList
<T> list)
881
private protected override
ImmutableSegmentedList
<TOutput> ConvertAllImpl<T, TOutput>(
ImmutableSegmentedList
<T> list, Converter<T, TOutput> converter)
884
private protected override void ForEachImpl<T>(
ImmutableSegmentedList
<T> list, Action<T> action)
887
private protected override
ImmutableSegmentedList
<T> GetRangeImpl<T>(
ImmutableSegmentedList
<T> list, int index, int count)
890
private protected override void CopyToImpl<T>(
ImmutableSegmentedList
<T> list, T[] array)
893
private protected override void CopyToImpl<T>(
ImmutableSegmentedList
<T> list, T[] array, int arrayIndex)
896
private protected override void CopyToImpl<T>(
ImmutableSegmentedList
<T> list, int index, T[] array, int arrayIndex, int count)
899
private protected override bool ExistsImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> match)
902
private protected override T? FindImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> match)
906
private protected override
ImmutableSegmentedList
<T> FindAllImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> match)
909
private protected override int FindIndexImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> match)
912
private protected override int FindIndexImpl<T>(
ImmutableSegmentedList
<T> list, int startIndex, Predicate<T> match)
915
private protected override int FindIndexImpl<T>(
ImmutableSegmentedList
<T> list, int startIndex, int count, Predicate<T> match)
918
private protected override T? FindLastImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> match)
922
private protected override int FindLastIndexImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> match)
925
private protected override int FindLastIndexImpl<T>(
ImmutableSegmentedList
<T> list, int startIndex, Predicate<T> match)
928
private protected override int FindLastIndexImpl<T>(
ImmutableSegmentedList
<T> list, int startIndex, int count, Predicate<T> match)
931
private protected override bool TrueForAllImpl<T>(
ImmutableSegmentedList
<T> list, Predicate<T> test)
934
private protected override int BinarySearchImpl<T>(
ImmutableSegmentedList
<T> list, T item)
937
private protected override int BinarySearchImpl<T>(
ImmutableSegmentedList
<T> list, T item, IComparer<T>? comparer)
940
private protected override int BinarySearchImpl<T>(
ImmutableSegmentedList
<T> list, int index, int count, T item, IComparer<T>? comparer)
Collections\ImmutablesTestBase.cs (2)
55
if (first is
ImmutableSegmentedList
<T> firstSegmented
56
&& second is
ImmutableSegmentedList
<T> secondSegmented)
Collections\IndexOfTests.cs (4)
50
var
list =
ImmutableSegmentedList
<int>.Empty.AddRange(Enumerable.Range(100, 5).Concat(Enumerable.Range(100, 5)));
118
var
list =
ImmutableSegmentedList
<int>.Empty.AddRange(Enumerable.Range(100, 5).Concat(Enumerable.Range(100, 5)));