public void GroupDisposable_CopyTo() { var d1 = Disposable.Create(() => { }); var d2 = Disposable.Create(() => { }); var g = new CompositeDisposable(d1, d2); var d = new IDisposable[3]; g.CopyTo(d, 1); Assert.AreSame(d1, d[1]); Assert.AreSame(d2, d[2]); }
public void CompositeDisposable_CopyTo() { var d1 = Disposable.Create(() => { }); var d2 = Disposable.Create(() => { }); var g = new CompositeDisposable(new List <IDisposable> { d1, d2 }); var d = new IDisposable[3]; g.CopyTo(d, 1); Assert.Same(d1, d[1]); Assert.Same(d2, d[2]); }
public void CompositeDisposable_Disposed_Is_NoOp() { var d = new BooleanDisposable(); var composite = new CompositeDisposable(d); composite.Dispose(); composite.Clear(); Assert.False(composite.Contains(d)); var array = new IDisposable[1]; composite.CopyTo(array, 0); Assert.Null(array[0]); }
public void CompositeDisposable_CopyTo_Index_Out_Of_Range() { var d1 = new BooleanDisposable(); var d2 = new BooleanDisposable(); var composite = new CompositeDisposable(d1, d2); var array = new IDisposable[2]; try { composite.CopyTo(array, 1); Assert.False(true, "Should have thrown!"); } catch (ArgumentOutOfRangeException) { // expected } }
void ICollection <IDisposable> .CopyTo(IDisposable[] array, int arrayIndex) => _disposables.CopyTo(array, arrayIndex);