public void Unbounded_Race() { for (int i = 0; i < TestHelper.RACE_LOOPS; i++) { var cs = new CacheSubject <int>(); var to = new TestObserver <int>(); TestHelper.Race(() => { for (int j = 0; j < 1000; j++) { cs.OnNext(j); } cs.OnCompleted(); }, () => { cs.Subscribe(to); }); to.AwaitDone(TimeSpan.FromSeconds(5)); to.AssertValueCount(1000) .AssertNoError() .AssertCompleted(); for (int j = 0; j < 1000; j++) { Assert.AreEqual(j, to.Items[j]); } } }
public void Unbounded_Long() { var cs = new CacheSubject <int>(); var to = cs.Test(); for (int i = 0; i < 1000; i++) { cs.OnNext(i); } cs.OnCompleted(); to.AssertSubscribed() .AssertValueCount(1000) .AssertCompleted() .AssertNoError(); for (int j = 0; j < 1000; j++) { Assert.AreEqual(j, to.Items[j]); } }