public void FaseAddedToModel_TwoGroentijdenSetsInModel_FaseAddedToBothSets()
        {
            var model = new ControllerModel();

            Messenger.OverrideDefault(FakesCreator.CreateMessenger(model));
            SettingsProvider.OverrideDefault(FakesCreator.CreateSettingsProvider());
            DefaultsProvider.OverrideDefault(FakesCreator.CreateDefaultsProvider());
            TLCGenControllerDataProvider.OverrideDefault(FakesCreator.CreateControllerDataProvider(model));
            TLCGenModelManager.OverrideDefault(FakesCreator.CreateModelManager(model));
            model.Fasen.Add(new FaseCyclusModel {
                Naam = "03"
            });
            model.Fasen.Add(new FaseCyclusModel {
                Naam = "04"
            });
            model.Fasen.Add(new FaseCyclusModel {
                Naam = "05"
            });
            model.Fasen.Add(new FaseCyclusModel {
                Naam = "06"
            });
            model.Fasen.Add(new FaseCyclusModel {
                Naam = "08"
            });
            var vm = new FasenGroentijdenSetsTabViewModel {
                Controller = model
            };
            var vmfasen = new FasenLijstTabViewModel {
                Controller = model
            };

            vm.AddGroentijdenSetCommand.Execute(null);
            vm.AddGroentijdenSetCommand.Execute(null);

            vmfasen.AddFaseCommand.Execute(null);
            vm.OnFasenChanged(new FasenChangedMessage(new List <FaseCyclusModel> {
                model.Fasen[5]
            }, null));

            Assert.AreEqual(6, model.GroentijdenSets[0].Groentijden.Count);
            Assert.AreEqual("03", model.GroentijdenSets[0].Groentijden[0].FaseCyclus);
            Assert.AreEqual("04", model.GroentijdenSets[0].Groentijden[1].FaseCyclus);
            Assert.AreEqual("05", model.GroentijdenSets[0].Groentijden[2].FaseCyclus);
            Assert.AreEqual("06", model.GroentijdenSets[0].Groentijden[3].FaseCyclus);
            Assert.AreEqual("07", model.GroentijdenSets[0].Groentijden[4].FaseCyclus);
            Assert.AreEqual("08", model.GroentijdenSets[0].Groentijden[5].FaseCyclus);
            Assert.AreEqual(6, model.GroentijdenSets[1].Groentijden.Count);
            Assert.AreEqual("03", model.GroentijdenSets[1].Groentijden[0].FaseCyclus);
            Assert.AreEqual("04", model.GroentijdenSets[1].Groentijden[1].FaseCyclus);
            Assert.AreEqual("05", model.GroentijdenSets[1].Groentijden[2].FaseCyclus);
            Assert.AreEqual("06", model.GroentijdenSets[1].Groentijden[3].FaseCyclus);
            Assert.AreEqual("07", model.GroentijdenSets[1].Groentijden[4].FaseCyclus);
            Assert.AreEqual("08", model.GroentijdenSets[1].Groentijden[5].FaseCyclus);
        }
        public void DetectorenFasenTabAddDetectorCommand_Executed_DetectorAddedToRightFase()
        {
            var model = ControllerCreator.GetSmallControllerWithDetection();
            var vm    = new DetectorenFasenTabViewModel {
                Controller = model
            };

            Messenger.OverrideDefault(FakesCreator.CreateMessenger(model));
            DefaultsProvider.OverrideDefault(FakesCreator.CreateDefaultsProvider());
            TLCGenModelManager.OverrideDefault(FakesCreator.CreateModelManager(model));

            vm.OnSelected();
            vm.AddDetectorCommand.Execute(null);

            Assert.AreEqual(3, vm.Detectoren.Count);
            var fc = model.Fasen[0];

            Assert.AreEqual("011", fc.Detectoren[0].Naam);
            Assert.AreEqual("012", fc.Detectoren[1].Naam);
            Assert.AreEqual("013", fc.Detectoren[2].Naam);
        }