public void T2D_Detects_Repository_Commits()
 {
     Monitor.Expect(() =>
     {
         _cloneA.Commit("Commit #1 on A");
     },
                    changes => changes >= 1,
                    deletes => deletes == 0);
 }
Example #2
0
        /// <summary>
        /// Train a model on a single example,
        /// </summary>
        /// <typeparam name="TOutput"></typeparam>
        /// <param name="trainerMaker"></param>
        /// <param name="checker"></param>
        private static void TrivialHelper <TOutput>(Func <ITrainerHost, ITrainer <Instances, IPredictorProducing <TOutput> > > trainerMaker, Action <TOutput, TOutput> checker)
        {
            // The following simple instance should result in a "trivial" predictor for binary classification, regression, and multiclass, I think.
            ListInstances instances = new ListInstances();

            instances.AddInst(new Float[] { (Float)0.0 }, (Float)0);
            instances.CopyMetadata(null);
            ITrainerHost host = new TrainHost(new Random(1), 0);

            var trainer = trainerMaker(host);

            trainer.Train(instances);
            IPredictor <Instance, TOutput> predictor       = (IPredictor <Instance, TOutput>)trainer.CreatePredictor();
            IPredictor <Instance, TOutput> loadedPredictor = default(IPredictor <Instance, TOutput>);

            using (Stream stream = new MemoryStream())
            {
                using (RepositoryWriter writer = RepositoryWriter.CreateNew(stream, false))
                {
                    ModelSaveContext.SaveModel(writer, predictor, "foo");
                    writer.Commit();
                }
                stream.Position = 0;
                using (RepositoryReader reader = RepositoryReader.Open(stream, false))
                {
                    ModelLoadContext.LoadModel(out loadedPredictor, reader, "foo");
                }
                Assert.AreNotEqual(default(IPredictor <Instance, TOutput>), loadedPredictor, "did not load expected model");
            }

            TOutput result       = predictor.Predict(instances[0]);
            TOutput loadedResult = loadedPredictor.Predict(instances[0]);

            checker(result, loadedResult);
        }
 public void T4C_Preparation_Add_Changes_To_B()
 {
     _cloneB.CreateFile("First.B", "First file on clone B");
     _cloneB.Stage("First.B");
     _cloneB.Commit("Commit #1 on B");
 }