Example #1
0
        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]);
        }
Example #2
0
        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]);
        }
Example #3
0
        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]);
        }
Example #4
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
            }
        }
Example #5
0
 void ICollection <IDisposable> .CopyTo(IDisposable[] array, int arrayIndex) => _disposables.CopyTo(array, arrayIndex);