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); }
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); }