コード例 #1
0
        public void Array_First_Wins_Error()
        {
            var count = 0;

            var m = SingleSource.FromFunc <int>(() => ++ count);

            SingleSource.Amb(
                SingleSource.Error <int>(new InvalidOperationException()),
                m
                )
            .Test()
            .AssertFailure(typeof(InvalidOperationException));

            Assert.AreEqual(0, count);
        }
コード例 #2
0
        public void Array_Second_Wins_Error()
        {
            var count = 0;

            var m = SingleSource.FromFunc <int>(() => {
                count++;
                throw new InvalidOperationException();
            });

            SingleSource.Amb(
                SingleSource.Never <int>(),
                m
                )
            .Test()
            .AssertFailure(typeof(InvalidOperationException));

            Assert.AreEqual(1, count);
        }
コード例 #3
0
 public void Enumerable_MoveNext_Crash()
 {
     SingleSource.Amb(new FailingEnumerable <ISingleSource <int> >(false, true, false))
     .Test()
     .AssertFailure(typeof(InvalidOperationException));
 }