public void TestCompletesAfterSupplier() { var completes = new BasicCompletes <int>(0); completes.After(() => completes.Outcome * 2); completes.With(5); Assert.Equal(10, completes.Outcome); }
public void TestCompletesAfterConsumer() { int andThenValue = 0; var completes = new BasicCompletes <int>(0); completes.After(x => andThenValue = x); completes.With(5); Assert.Equal(5, andThenValue); }
public void TestOutcomeBeforeTimeout() { int andThenValue = 0; var completes = new BasicCompletes <int>(new Scheduler()); completes .After(() => completes.Outcome * 2, 1000) .AndThen(x => andThenValue = x); completes.With(5); Assert.Equal(10, andThenValue); }
public void TestCompletesAfterAndThen() { int andThenValue = 0; var completes = new BasicCompletes <int>(0); completes .After(() => completes.Outcome * 2) .AndThen(x => andThenValue = x); completes.With(5); Assert.Equal(10, andThenValue); }
public void TestCompletesAfterAndThenMessageOut() { int andThenValue = 0; var completes = new BasicCompletes <int>(0); var sender = new Sender(x => andThenValue = x); completes .After(() => completes.Outcome * 2) .AndThen(x => sender.Send(x)); completes.With(5); Assert.Equal(10, andThenValue); }
public void TestTimeoutBeforeOutcome() { int andThenValue = 0; var completes = new BasicCompletes <int>(new Scheduler()); completes .After(() => completes.Outcome * 2, 1, 0) .AndThen(x => andThenValue = x); Thread.Sleep(1000); completes.With(5); Assert.NotEqual(10, andThenValue); Assert.Equal(0, andThenValue); }