public void SetAllControllersToManualMode_ShouldDelegateToInformationProviderWithManual()
        {
            GenericPlcViewModel viewModel = CreateGenericPlcViewModel(_randomModule);

            viewModel.SetAllControllersToManualMode();
            _informationProvider.Verify(i => i.SetAllControllersToMode(_randomModule, Controller.Mode.Manual));
        }
        public void ShouldNotifyPropertyChanged()
        {
            GenericPlcViewModel viewModel = CreateGenericPlcViewModel();

            viewModel.MonitorEvents();
            viewModel.SelectedItem = MasterDetailViewModel("AnyModule", 0);
            viewModel.ShouldRaisePropertyChangeFor(x => x.SelectedItem);
        }
Beispiel #3
0
        public void OnLoaderReturningEmptyString_ShouldNotImport()
        {
            _loader.Setup(x => x.LoadFromFile(Loa1, It.IsAny <string>())).Returns(Task.FromResult(string.Empty));
            GenericPlcViewModel viewModel = CreateGenericPlcViewModel();

            viewModel.Import();
            _informationProvider.Verify(x => x.Import(It.IsAny <string>(), It.IsAny <string>()), Times.Never);
        }
        public void WithRandomController_ShouldImportSelectedController()
        {
            string randomModuleName       = CreateRandom.String();
            int    randomControllerId     = CreateRandom.Int();
            GenericPlcViewModel viewModel = CreateGenericPlcViewModel(moduleName: randomModuleName);

            viewModel.SelectedItem = MasterDetailViewModel(randomModuleName, randomControllerId);
            _informationProvider.Verify(x => x.ImportController(randomModuleName, randomControllerId));
        }
        public void WithRandomController_ShouldSubscribeForChangesOnRandomController()
        {
            string randomModuleName       = CreateRandom.String();
            int    randomControllerId     = CreateRandom.Int();
            GenericPlcViewModel viewModel = CreateGenericPlcViewModel(moduleName: randomModuleName);

            viewModel.SelectedItem = MasterDetailViewModel(randomModuleName, randomControllerId);
            _informationProvider.Verify(x => x.SubscribeForControllerChanges(randomModuleName, randomControllerId, It.IsAny <Action <Controller> >()));
        }
Beispiel #6
0
 protected void SetGenericPlcViewModel(GenericPlcViewModel viewModel)
 {
     if (_genericPageViewModel != viewModel)
     {
         _genericPageViewModel = viewModel;
         NotifyOfPropertyChange(() => DetailViewModel);
         NotifyOfPropertyChange(() => HasGenericPlcView);
     }
 }
Beispiel #7
0
        public void ShouldDisplayImportFeedback()
        {
            _loader.Setup(x => x.LoadFromFile(Loa1, ".xml")).Returns(Task.FromResult("<anyresult/>"));
            _informationProvider.Setup(x => x.Import(Loa1, "<anyresult/>")).Returns(Task.FromResult(new ImportExportResultViewModel()));
            GenericPlcViewModel viewModel = CreateGenericPlcViewModel();

            viewModel.Import();
            viewModel.ImportResultViewModel.IsVisible.Should().BeTrue();
        }
Beispiel #8
0
        public void OnFailingSaver_ShouldDisplayErrorMessage()
        {
            string randomErrorMessage = CreateRandom.String();

            _saver.Setup(x => x.SaveStringToFile(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).Throws(new Exception(randomErrorMessage));
            GenericPlcViewModel viewModel = CreateGenericPlcViewModel();

            viewModel.Export();
            _states.Verify(s => s.ChangeToErrorState(It.Is <string>(x => x.Contains(randomErrorMessage))));
        }
Beispiel #9
0
        public void ShouldSaveExportedValue()
        {
            string exportedTree = CreateRandom.String();

            _informationProvider.Setup(x => x.Export(_randomModule)).Returns(Task.FromResult(exportedTree));
            GenericPlcViewModel viewModel = CreateGenericPlcViewModel(moduleName: _randomModule);

            viewModel.Export();
            _saver.Verify(x => x.SaveStringToFile(exportedTree, _randomModule, ".xml"));
        }
Beispiel #10
0
        public void ShouldImportLoadedFile()
        {
            string randomControllerTree = CreateRandom.String();

            _loader.Setup(x => x.LoadFromFile(_randomModule, ".xml")).Returns(Task.FromResult(randomControllerTree));
            GenericPlcViewModel viewModel = CreateGenericPlcViewModel(_randomModule);

            viewModel.Import();
            _informationProvider.Verify(x => x.Import(_randomModule, randomControllerTree));
        }
        public void SetAllControllersToManualMode_OnThrowingProvider_ShouldDisplayErrorView()
        {
            string randomError = CreateRandom.String();

            _informationProvider.Setup(p => p.SetAllControllersToMode(It.IsAny <string>(), It.IsAny <Controller.Mode>()))
            .Throws(new InvalidOperationException(randomError));
            GenericPlcViewModel viewModel = CreateGenericPlcViewModel();

            viewModel.SetAllControllersToManualMode();
            _states.Verify(s => s.ChangeToErrorState(It.Is <string>(e => e.Contains(randomError))));
        }
Beispiel #12
0
        public void ShouldDisplayFeedbackDialog()
        {
            string exportedTree = CreateRandom.String();

            _informationProvider.Setup(x => x.Export(_randomModule)).Returns(Task.FromResult(exportedTree));
            _saver.Setup(x => x.SaveStringToFile(exportedTree, _randomModule, ".xml")).Returns(Task.FromResult(true));
            GenericPlcViewModel viewModel = CreateGenericPlcViewModel(moduleName: _randomModule);

            viewModel.Export();
            viewModel.ExportResultViewModel.IsVisible.Should().BeTrue();
        }
Beispiel #13
0
        public void OnFailingImport_ShouldDisplayErrorMessage()
        {
            string randomError = CreateRandom.String();

            _loader.Setup(x => x.LoadFromFile(It.IsAny <string>(), It.IsAny <string>())).Returns(Task.FromResult("My controller tree."));
            _informationProvider.Setup(x => x.Import(It.IsAny <string>(), It.IsAny <string>())).Throws(new Exception(randomError));
            GenericPlcViewModel viewModel = CreateGenericPlcViewModel();

            viewModel.Import();
            _states.Verify(x => x.ChangeToErrorState(It.Is <string>(s => s.Contains(randomError))));
        }