public void Should_fail_when_event_timing_differs() { Assert.Throws <Exception>(() => { var scheduler = new MarbleTestScheduler(); scheduler.ExpectObservable(Observable.Return("hello")).ToBe("--h", new { h = "hello" }); scheduler.Flush(); }); }
public void Should_create_a_hot_observable() { var expected = new Queue <char>(new[] { 'A', 'B' }); var scheduler = new MarbleTestScheduler(); var source = scheduler.CreateHotObservable <char>("--a---b--|", new { a = 'A', b = 'B' }); source.Subscribe(x => { Assert.That(x, Is.EqualTo(expected.Dequeue())); }); scheduler.Flush(); Assert.That(expected.Count, Is.Zero); }
public void Should_fail_when_observables_end_with_different_error_types() { Assert.Throws <Exception>(() => { var scheduler = new MarbleTestScheduler(); var source = scheduler.CreateColdObservable <Unit>("---#", null, new ArgumentException()); scheduler.ExpectObservable(source).ToBe("---#", null, new Exception()); scheduler.Flush(); }); }
public void Should_execute_the_spec() { var spec = new MarbleSpec(_scheduler, @" e1 : ---a-------c---- e2 : -------b-------d r : ---a---b---c---- sub : ^------------! "); var e1 = spec.Cold <char>("e1"); var e2 = spec.Cold <char>("e2"); var r = e1.Merge(e2); spec.ExpectObservable(r, "sub").ToBe("r"); Assert.That(_scheduler.FlushTests.Count, Is.EqualTo(1)); _scheduler.Flush(); Assert.That(_scheduler.FlushTests.Count, Is.EqualTo(0)); }
public void TearDown() { _scheduler.Flush(); }