示例#1
0
        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> >()));
        }
示例#3
0
        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);
        }
示例#5
0
        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>()));
        }
示例#6
0
        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> >()));
        }
示例#10
0
        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);
        }
示例#12
0
        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> >()));
        }