Esempio n. 1
0
 public IExperimentOptionsBuilder <T, TPublish> Prepare(PrepareDelegate <T, TPublish> prepare)
 {
     if (prepare == null)
     {
         throw new ArgumentNullException("prepare");
     }
     steps.Prepare = prepare;
     return(this);
 }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }