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); }
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> >())); }
protected void SetGenericPlcViewModel(GenericPlcViewModel viewModel) { if (_genericPageViewModel != viewModel) { _genericPageViewModel = viewModel; NotifyOfPropertyChange(() => DetailViewModel); NotifyOfPropertyChange(() => HasGenericPlcView); } }
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(); }
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)))); }
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")); }
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)))); }
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(); }
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)))); }