public void OnRandomModule_ShouldGetRootControllerOfRandomModule() { TestableGenericPlcViewModel viewModel = CreateTestableGenericPlcViewModel(moduleName: _randomModule); viewModel.Activate(); _informationProvider.Verify(x => x.LoadRootController(_randomModule)); }
public void ShouldUnsubscribeFromTreeUpdates() { TestableGenericPlcViewModel viewModel = CreateTestableGenericPlcViewModel(moduleName: _randomModule); viewModel.Deactivate(); _informationProvider.Verify(i => i.UnsubscribeFromTreeUpdate(_randomModule, It.IsAny <Action <Controller> >())); }
public void ShouldChangeToLoadingState() { TestableGenericPlcViewModel viewModel = CreateTestableGenericPlcViewModel(); viewModel.Activate(); _states.Verify(x => x.ChangeToLoadingState()); }
public void OnTreeWithoutManualModeController_ShouldNotAskUser() { TestableGenericPlcViewModel viewModel = CreateTestableGenericPlcViewModel(); viewModel.Deactivate(); _askUser.Verify(a => a.AskYesOrNoQuestion(It.IsAny <string>(), It.IsAny <string>()), Times.Never); }
public void OnInformationProviderWithError_ShouldChangeToErrorState() { _informationProvider.Setup(x => x.LoadRootController(It.IsAny <string>())).Throws(new InvalidOperationException()); TestableGenericPlcViewModel viewModel = CreateTestableGenericPlcViewModel(); viewModel.Activate(); _states.Verify(x => x.ChangeToErrorState(It.IsAny <string>())); }
public void OnExistingModule_ShouldChangeToContentState() { _informationProvider.Setup(x => x.LoadRootController(It.IsAny <string>())).Returns(Task.FromResult(new Controller())); TestableGenericPlcViewModel viewModel = CreateTestableGenericPlcViewModel(); viewModel.Activate(); _states.Verify(x => x.ChangeToContentState()); }
public void WithCloseTrue_OnTreeWithControllersInManualMode_ShouldNotAskUser() { TestableGenericPlcViewModel viewModel = CreateTestableGenericPlcViewModel(_randomModule); viewModel.MasterTree.Add(ControllerInManualMode()); viewModel.Deactivate(close: true); _askUser.Verify(a => a.AskYesOrNoQuestion(It.IsAny <string>(), It.IsAny <string>()), Times.Never); }
public void OnTreeWithControllersInManualMode_ShouldAskUserAboutAutoMode() { TestableGenericPlcViewModel viewModel = CreateTestableGenericPlcViewModel(_randomModule); viewModel.MasterTree.Add(ControllerInManualMode()); viewModel.Deactivate(); _askUser.Verify(a => a.AskYesOrNoQuestion(It.IsAny <string>(), It.IsAny <string>())); }
public void ShouldUnsubscribeFromSelectedItem() { int randomController = CreateRandom.Int(); TestableGenericPlcViewModel viewModel = CreateTestableGenericPlcViewModel(moduleName: _randomModule); viewModel.SelectedItem = MasterDetailViewModel(_randomModule, randomController); viewModel.Deactivate(); _informationProvider.Verify(i => i.UnsubscribeFromControllerChanges(_randomModule, randomController, It.IsAny <Action <Controller> >())); }
public void OnInformationProviderWithRandomError_ShouldExposeRandomError() { string randomError = CreateRandom.String(); _informationProvider.Setup(x => x.LoadRootController(It.IsAny <string>())).Throws(new InvalidOperationException(randomError)); TestableGenericPlcViewModel viewModel = CreateTestableGenericPlcViewModel(); viewModel.MonitorEvents(); viewModel.Activate(); _states.Verify(s => s.ChangeToErrorState(It.Is <string>(e => e.Contains(randomError)))); }
public void OnTreeWithManualModeControllerAndUserNotSettingToAuto_ShouldNotSetAllControllersToAutoMode() { TestableGenericPlcViewModel viewModel = CreateTestableGenericPlcViewModel(_randomModule); viewModel.MasterTree.Add(ControllerInManualMode()); _askUser.Setup(a => a.AskYesOrNoQuestion(It.IsAny <string>(), It.IsAny <string>())).Returns(false); viewModel.Deactivate(); _informationProvider.Verify(i => i.SetAllControllersToMode(_randomModule, Controller.Mode.Auto), Times.Never); }
public void OnPreviouslyDeactivatedViewModel_ShouldSubscribeForSelectedItem() { int randomController = CreateRandom.Int(); TestableGenericPlcViewModel viewModel = CreateTestableGenericPlcViewModel(moduleName: _randomModule); MasterDetailViewModel anyController = MasterDetailViewModel(_randomModule, randomController); viewModel.MasterTree.Add(anyController); viewModel.SelectedItem = anyController; viewModel.Deactivate(); viewModel.Activate(); _informationProvider.Verify(x => x.SubscribeForControllerChanges(_randomModule, randomController, It.IsAny <Action <Controller> >())); }