コード例 #1
0
        public void Unbounded_Take()
        {
            var cs = new CacheSubject <int>();

            var to = cs.Take(3).Test();

            Assert.True(cs.HasObservers);
            Assert.False(cs.HasCompleted());
            Assert.False(cs.HasException());
            Assert.Null(cs.GetException());

            to.AssertEmpty();

            cs.Emit(1, 2, 3, 4, 5);

            to.AssertResult(1, 2, 3);

            Assert.False(cs.HasObservers);
            Assert.False(cs.HasCompleted());
            Assert.False(cs.HasException());
            Assert.Null(cs.GetException());

            cs.OnCompleted();

            Assert.False(cs.HasObservers);
            Assert.True(cs.HasCompleted());
            Assert.False(cs.HasException());
            Assert.Null(cs.GetException());

            cs.Test().AssertResult(1, 2, 3, 4, 5);
        }
コード例 #2
0
        public void Unbounded_Basic_Error()
        {
            var cs = new CacheSubject <int>();

            var to = cs.Test();

            Assert.True(cs.HasObservers);
            Assert.False(cs.HasCompleted());
            Assert.False(cs.HasException());
            Assert.Null(cs.GetException());

            to.AssertEmpty();

            var ex = new InvalidOperationException();

            cs.EmitError(ex, 1, 2, 3, 4, 5);

            to.AssertFailure(typeof(InvalidOperationException), 1, 2, 3, 4, 5);

            Assert.False(cs.HasObservers);
            Assert.False(cs.HasCompleted());
            Assert.True(cs.HasException());
            Assert.AreEqual(ex, cs.GetException());

            cs.Test().AssertFailure(typeof(InvalidOperationException), 1, 2, 3, 4, 5);
        }