Skip to content

Commit fecf20f

Browse files
committed
Added some more tests
Commit migrated from dotnet/corefx@dd2b6ea
1 parent dea1390 commit fecf20f

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

src/libraries/System.Collections.Immutable/tests/ImmutableArrayBuilderTest.cs

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -542,6 +542,53 @@ public void MoveToImmutableAfterClear()
542542
Assert.Throws(typeof(InvalidOperationException), () => builder.MoveToImmutable());
543543
}
544544

545+
[Fact]
546+
public void MoveToImmutableAddToCapacity()
547+
{
548+
var builder = ImmutableArray.CreateBuilder<int>(initialCapacity: 3);
549+
for (int i = 0; i < builder.Capacity; i++)
550+
{
551+
builder.Add(i);
552+
}
553+
554+
Assert.Equal(new[] { 0, 1, 2 }, builder.MoveToImmutable());
555+
}
556+
557+
[Fact]
558+
public void MoveToImmutableInsertToCapacity()
559+
{
560+
var builder = ImmutableArray.CreateBuilder<int>(initialCapacity: 3);
561+
for (int i = 0; i < builder.Capacity; i++)
562+
{
563+
builder.Insert(i, i);
564+
}
565+
566+
Assert.Equal(new[] { 0, 1, 2 }, builder.MoveToImmutable());
567+
}
568+
569+
[Fact]
570+
public void MoveToImmutableAddRangeToCapcity()
571+
{
572+
var array = new[] { 1, 2, 3, 4, 5 };
573+
var builder = ImmutableArray.CreateBuilder<int>(initialCapacity: array.Length);
574+
builder.AddRange(array);
575+
Assert.Equal(array, builder.MoveToImmutable());
576+
}
577+
578+
[Fact]
579+
public void MoveToImmutableAddRemoveAddToCapacity()
580+
{
581+
var builder = ImmutableArray.CreateBuilder<int>(initialCapacity: 3);
582+
for (int i = 0; i < builder.Capacity; i++)
583+
{
584+
builder.Add(i);
585+
builder.RemoveAt(i);
586+
builder.Add(i);
587+
}
588+
589+
Assert.Equal(new[] { 0, 1, 2 }, builder.MoveToImmutable());
590+
}
591+
545592
[Fact]
546593
public void CapacitySetToZero()
547594
{

0 commit comments

Comments
 (0)