コード例 #1
0
        public void GetEnumerator()
        {
            var d = new CompositeDisposable();
            var e = d.GetEnumerator();

            e.MoveNext();
            d.Add(Disposable.Empty);
            e.MoveNext();              // looks like it does not result in InvalidOperationException.
        }
コード例 #2
0
        public void CompositeDisposable_GetEnumerator_Reset()
        {
            var d = new BooleanDisposable();

            var composite = new CompositeDisposable(d);

            var enumerator = composite.GetEnumerator();

            Assert.True(enumerator.MoveNext());
            Assert.Equal(d, enumerator.Current);
            Assert.False(enumerator.MoveNext());

            enumerator.Reset();

            Assert.True(enumerator.MoveNext());
            Assert.Equal(d, enumerator.Current);
        }
コード例 #3
0
        public void CompositeDisposable_GetEnumerator_Disposed_Entries()
        {
            var d1 = new BooleanDisposable();
            var d2 = new BooleanDisposable();
            var d3 = new BooleanDisposable();

            var composite = new CompositeDisposable(d1, d2, d3);

            composite.Remove(d2);

            var enumerator = composite.GetEnumerator();

            Assert.True(enumerator.MoveNext());
            Assert.Equal(d1, enumerator.Current);

            Assert.True(enumerator.MoveNext());
            Assert.Equal(d3, enumerator.Current);

            Assert.False(enumerator.MoveNext());
        }
コード例 #4
0
        public void CompositeDisposable_Empty_GetEnumerator()
        {
            var composite = new CompositeDisposable();

            Assert.False(composite.GetEnumerator().MoveNext());
        }
コード例 #5
0
 IEnumerator <IDisposable> IEnumerable <IDisposable> .GetEnumerator() => _disposables.GetEnumerator();
コード例 #6
0
 public void GetEnumerator()
 {
     var d = new CompositeDisposable ();
     var e = d.GetEnumerator ();
     e.MoveNext ();
     d.Add (Disposable.Empty);
     e.MoveNext (); // looks like it does not result in InvalidOperationException.
 }