public void Success_Dispose_Other() { var ms = new SingleSubject <int>(); var to1 = new TestObserver <int>(); var count = 0; ms.Subscribe(v => { to1.Dispose(); }, e => { count = 1; }); ms.Subscribe(to1); ms.OnSuccess(1); to1.AssertEmpty(); Assert.AreEqual(0, count); }
public void Error_Dispose_Other() { var ms = new SingleSubject <int>(); var to1 = new TestObserver <int>(); var count = 0; ms.Subscribe(v => { count = 1; }, e => { to1.Dispose(); }); ms.Subscribe(to1); ms.OnError(new InvalidOperationException()); to1.AssertEmpty(); Assert.AreEqual(0, count); }
public void Dispose() { var count = 0; var ss = new SingleSubject <int>(); var d = ss .Subscribe(v => { count = v; }, e => { count = 2; }); Assert.True(ss.HasObserver()); d.Dispose(); Assert.False(ss.HasObserver()); Assert.AreEqual(0, count); }