public void WhenUsingTplShouldBeAbleToUseSharedScheduler()
        {
            // Arrange
            var stringBuilder0 = new StringBuilder();
            var stringBuilder1 = new StringBuilder();
            var s = new SharedScheduler(new TaskImmediateScheduler(), new RxImmediateScheduler());

            // Act
            Task.Factory.StartNew(() => stringBuilder0.Append("Hello"), s)
            .Then(sb => sb.Append(" "), s)
            .Then(sb => sb.Append("World"), s);

            ObservableEx.Start(() => stringBuilder1.Append("Hi 2 yu!"), s);

            // Assert
            Assert.That(stringBuilder0.ToString(), Is.EqualTo("Hello World"));
            Assert.That(stringBuilder1.ToString(), Is.EqualTo("Hi 2 yu!"));
        }
 public TestSchedulerContext()
 {
     Default    = new SharedScheduler(new TaskImmediateScheduler(), new RxImmediateScheduler());
     Dispatcher = new SharedScheduler(new TaskImmediateScheduler(), new RxImmediateScheduler());
 }