public void BindToIsNotFooledByIntermediateObjectSwitching() { new TestScheduler().With(sched => { var input = new ScheduledSubject <string>(sched); var fixture = new HostTestFixture { Child = new TestFixture() }; input.BindTo(fixture, x => x.Child.IsNotNullString); Assert.Null(fixture.Child.IsNotNullString); input.OnNext("Foo"); sched.Start(); Assert.Equal("Foo", fixture.Child.IsNotNullString); fixture.Child = new TestFixture(); sched.Start(); Assert.Equal("Foo", fixture.Child.IsNotNullString); input.OnNext("Bar"); sched.Start(); Assert.Equal("Bar", fixture.Child.IsNotNullString); }); }
public void BindToSmokeTest() { (new TestScheduler()).With(sched => { var input = new ScheduledSubject<string>(sched); var fixture = new HostTestFixture() {Child = new TestFixture()}; input.BindTo(fixture, x => x.Child.IsNotNullString); Assert.Null(fixture.Child.IsNotNullString); input.OnNext("Foo"); sched.Start(); Assert.Equal("Foo", fixture.Child.IsNotNullString); input.OnNext("Bar"); sched.Start(); Assert.Equal("Bar", fixture.Child.IsNotNullString); }); }
public void DisposingDisconnectsTheBindTo() { (new TestScheduler()).With(sched => { var input = new ScheduledSubject<string>(sched); var fixture = new HostTestFixture() {Child = new TestFixture()}; var subscription = input.BindTo(fixture, x => x.Child.IsNotNullString); Assert.Null(fixture.Child.IsNotNullString); input.OnNext("Foo"); sched.Start(); Assert.Equal("Foo", fixture.Child.IsNotNullString); subscription.Dispose(); input.OnNext("Bar"); sched.Start(); Assert.Equal("Foo", fixture.Child.IsNotNullString); }); }
public void BindToSmokeTest() { (new TestScheduler()).With(sched => { var input = new ScheduledSubject <string>(sched); var fixture = new HostTestFixture() { Child = new TestFixture() }; input.BindTo(fixture, x => x.Child.IsNotNullString); Assert.Null(fixture.Child.IsNotNullString); input.OnNext("Foo"); sched.Start(); Assert.Equal("Foo", fixture.Child.IsNotNullString); input.OnNext("Bar"); sched.Start(); Assert.Equal("Bar", fixture.Child.IsNotNullString); }); }
public void BindToIsNotFooledByIntermediateObjectSwitching() { (new TestScheduler()).With(sched => { var input = new ScheduledSubject<string>(sched); var fixture = new HostTestFixture() {Child = new TestFixture()}; var subscription = input.BindTo(fixture, x => x.Child.IsNotNullString); Assert.Null(fixture.Child.IsNotNullString); input.OnNext("Foo"); sched.Start(); Assert.Equal("Foo", fixture.Child.IsNotNullString); fixture.Child = new TestFixture(); sched.Start(); Assert.Null(fixture.Child.IsNotNullString); input.OnNext("Bar"); sched.Start(); Assert.Equal("Bar", fixture.Child.IsNotNullString); }); }
public void DisposingDisconnectsTheBindTo() { new TestScheduler().With(sched => { var input = new ScheduledSubject <string>(sched); var fixture = new HostTestFixture { Child = new TestFixture() }; var subscription = input.BindTo(fixture, x => x.Child.IsNotNullString); Assert.Null(fixture.Child.IsNotNullString); input.OnNext("Foo"); sched.Start(); Assert.Equal("Foo", fixture.Child.IsNotNullString); subscription.Dispose(); input.OnNext("Bar"); sched.Start(); Assert.Equal("Foo", fixture.Child.IsNotNullString); }); }