public void RunStrategy_IsCalledOnDecorated(ISimulationContext sut, Mock<ISimulationContext> ctx)
 {
     sut.Initialize(null, null, null);
     sut.RunStrategy();
     ctx.Verify(x => x.RunStrategy(), Times.Once());
 }
 public void RunStrategy_CanceledBeforeRun_ReturnsFalse(ISimulationContext sut, Mock<ISimulationContext> ctx)
 {
     ctx.Setup(x => x.RunStrategy()).Returns(true);
     sut.Initialize(null, null, null);
     (sut as SimulationContextAsyncDecorator).Cancel();
     Assert.False(sut.RunStrategy());
 }
 public void RunStrategy_IncorrectStrategy_ReturnsFalse(ISimulationContext sut, Mock<ISimulationContext> ctx)
 {
     ctx.Setup(x => x.RunStrategy()).Returns(false);
     sut.Initialize(null, null, null);
     Assert.False(sut.RunStrategy());
 }
 public void RunStrategy_CanceledAfterRun_ReturnsFalse(ISimulationContext sut, Mock<ISimulationContext> ctx)
 {
     ctx.Setup(x => x.RunStrategy()).Callback(() => Thread.Sleep(60000)).Returns(true);
     sut.Initialize(null, null, null);
     Task.Factory.StartNew(() => { Thread.Sleep(1000);(sut as SimulationContextAsyncDecorator).Cancel();});
     bool result = sut.RunStrategy();
     Assert.False(result);
 }