public void Load_non_existing_training()
        {
            IRepository sut = new MongoDbRepository(CONNECTIONSTRING);

            Exception ex = null;
            sut.LoadTrainingByMatchcode("xyz-nonexisting", null, _ => ex = _);

            Assert.IsNotNull(ex);
            Console.WriteLine("Exception thrown as expected: {0}", ex.Message);
        }
        public void Load_training_by_id()
        {
            IRepository sut = new MongoDbRepository(CONNECTIONSTRING);

            Training t = null;
            sut.CreateTraining("sometrainingLoad", "sometrainerLoad", _ => t = _, null);

            Training result = null;
            sut.LoadTrainingByMatchcode(t.Id, _ => result = _, null);

            Equalidator.AreEqual(t.Id, result.Id);
            Assert.AreEqual("sometrainerLoad", result.TrainerMatchcode);
        }
        public void Update_training()
        {
            IRepository sut = new MongoDbRepository(CONNECTIONSTRING);

            Training t = null;
            sut.CreateTraining("sometrainingUpdate", "sometrainerUpdate", _ => t = _, null);

            t.TrainerMatchcode = "new trainer matchcode";
            sut.UpdateTraining(t, () => Console.WriteLine("Updated training: " + t.Matchcode), null);

            Training result = null;
            sut.LoadTrainingByMatchcode("sometrainingUpdate", _ => result = _, null);
            Assert.AreEqual("new trainer matchcode", result.TrainerMatchcode);
        }