public IExperimentOptionsBuilder <T, TPublish> Prepare(PrepareDelegate <T, TPublish> prepare) { if (prepare == null) { throw new ArgumentNullException("prepare"); } steps.Prepare = prepare; return(this); }
public static IExperimentBuilder <T, TPublish> DoScience <T, TPublish>(string name, Func <T> control, PrepareDelegate <T, TPublish> prepareResults, bool throwOnInternalExceptions = false) { var builder = new Laboratory(_publisher, throwOnInternalExceptions) .CreateExperiment <T, TPublish>(name) .Control(control); builder.Prepare(prepareResults); return(builder); }
public void Prepare(Mock <ISciencePublisher> publisher, Mock <IScienceExperiment <string, string> > experiment, string ctrlResult, Mock <IExperimentSteps <string, string> > steps) { //Setup publisher.SetupAllProperties(); experiment.SetupAllProperties(); steps.SetupAllProperties(); experiment.SetupGet(x => x.Steps).Returns(steps.Object); Func <string> control = () => ctrlResult; PrepareDelegate <string, string> prepare = (val) => val; //Exercise var sut = new Laboratory(publisher.Object, true); sut.CreateExperiment(experiment.Object) .Control(control) .Prepare(prepare); //Verify steps.VerifySet(x => x.Prepare = prepare, Times.Once); }