public void AssertPublicMembersThrow(ArrayBuilder <string?> builder, string?[] array) { // Public methods & properties except for IsClosed Assert.Throws <ObjectDisposedException>(() => builder.Capacity -= 1); Assert.Throws <ObjectDisposedException>(() => builder[0] = "closed"); Assert.Throws <ObjectDisposedException>(() => builder.Add("closed")); Assert.Throws <ObjectDisposedException>(() => builder.AddRange(Enumerable.Repeat("closed", 2))); Assert.Throws <ObjectDisposedException>(() => _ = builder.BinarySearch(0, 4, "element", StringComparer.Ordinal)); Assert.Throws <ObjectDisposedException>(() => _ = builder.BinarySearch("element")); Assert.Throws <ObjectDisposedException>(() => _ = builder.BinarySearch("element", StringComparer.Ordinal)); Assert.Throws <ObjectDisposedException>(() => builder.Clear()); Assert.Throws <ObjectDisposedException>(() => _ = builder.Close()); Assert.Throws <ObjectDisposedException>(() => _ = builder.CloseAndSlice()); Assert.Throws <ObjectDisposedException>(() => _ = builder.CloseAndSlice(1)); Assert.Throws <ObjectDisposedException>(() => _ = builder.CloseAndSlice(1, 1)); Assert.Throws <ObjectDisposedException>(() => _ = builder.Contains("element")); Assert.Throws <ObjectDisposedException>(() => builder.CopyTo(array)); Assert.Throws <ObjectDisposedException>(() => builder.CopyTo(0, array, 0, 4)); Assert.Throws <ObjectDisposedException>(() => builder.CopyTo(array, 0)); Assert.Throws <ObjectDisposedException>(() => builder.EnsureCapacity(12)); Assert.Throws <ObjectDisposedException>(() => _ = builder.GetEnumerator()); Assert.Throws <ObjectDisposedException>(() => _ = builder.IndexOf("element")); Assert.Throws <ObjectDisposedException>(() => _ = builder.IndexOf("element", 0)); Assert.Throws <ObjectDisposedException>(() => _ = builder.IndexOf("element", 0, 4)); Assert.Throws <ObjectDisposedException>(() => builder.Insert(0, "closed")); Assert.Throws <ObjectDisposedException>(() => builder.InsertRange(0, Enumerable.Repeat("closed", 2))); Assert.Throws <ObjectDisposedException>(() => builder.Remove("element")); Assert.Throws <ObjectDisposedException>(() => builder.RemoveAt(2)); Assert.Throws <ObjectDisposedException>(() => builder.RemoveRange(0, 3)); Assert.Throws <ObjectDisposedException>(() => _ = builder.TrimAndClose()); Assert.Throws <ObjectDisposedException>(() => builder.TrimExcess()); }