示例#1
0
        public void Test_TryDisposable_executes_at_most_once()
        {
            foreach (var round in Enumerable.Range(0, 1000))
            {
                var ds = Enumerable.Range(0, 5).Select(_ => new SensitiveDisposable()).ToArray();

                BooleanDisposableTestHelper.TestTryDisposeExecuteAtMostOnce(
                    ImmutableCompositeDisposable.FromEnumerable(ds)
                    );

                ds.All(d => d.IsDisposed).Is(true);
            }
        }
示例#2
0
        public void Test_argument_verification()
        {
            Assert.Throws <ArgumentException>(() =>
                                              ImmutableCompositeDisposable.Create(
                                                  EmptyDisposable.Instance,
                                                  EmptyDisposable.Instance,
                                                  EmptyDisposable.Instance,
                                                  EmptyDisposable.Instance,
                                                  default(IDisposable)
                                                  ));

            Assert.Throws <ArgumentException>(() =>
                                              ImmutableCompositeDisposable.FromEnumerable(new IDisposable[] { null })
                                              );
        }