public void Given_linked_Cancelable_When_canceling_underlying_Then_linked_should_be_canceled() { var underlying = new Cancelable(Sys.Scheduler); var linked = Cancelable.CreateLinkedCancelable(Sys.Scheduler, underlying); var latch = CreateTestLatch(); linked.Token.Register(() => latch.CountDown()); underlying.Cancel(); underlying.IsCancellationRequested.ShouldBeTrue(); underlying.Token.IsCancellationRequested.ShouldBeTrue(); latch.Ready(); linked.IsCancellationRequested.ShouldBeTrue(); linked.Token.IsCancellationRequested.ShouldBeTrue(); }