Пример #1
0
        public async Task InterestedViewModelAutomaticallyBeingRemovedWhenClosed()
        {
            ViewModelManager.ClearAll();

            var viewModel = new ManagedViewModel(typeof(InterestingViewModel));

            var interestingViewModel = new InterestingViewModel();
            var interestedViewModel  = new InterestedViewModel();

            viewModel.AddViewModelInstance(interestingViewModel);
            viewModel.AddInterestedViewModel(interestedViewModel);

            interestingViewModel.InterestingValue = "new value";
            Assert.AreEqual("new value", interestedViewModel.InterestedValue);

            await interestedViewModel.CloseViewModel(null);

            interestingViewModel.InterestingValue = "new value which has changed";
            Assert.AreNotEqual("new value which has changed", interestedViewModel.InterestedValue);
            Assert.AreEqual("new value", interestedViewModel.InterestedValue);

            await interestingViewModel.CloseViewModel(false);

            await interestedViewModel.CloseViewModel(false);
        }
Пример #2
0
        public void UnregisterViewModelInstance_ExistingViewModel()
        {
            var manager   = new ViewModelManager();
            var viewModel = new InterestingViewModel();

            manager.RegisterViewModelInstance(viewModel);
            manager.UnregisterViewModelInstance(viewModel);
        }
Пример #3
0
        public void AddInterestedViewModelInstance_ViewModelForExistingInterestedInViewModel()
        {
            var manager = new ViewModelManager();

            var interestingViewModel = new InterestingViewModel();
            var interestedViewModel  = new InterestedViewModel();

            manager.RegisterViewModelInstance(interestingViewModel);
            manager.AddInterestedViewModelInstance(typeof(InterestingViewModel), interestedViewModel);
        }
Пример #4
0
        public void RemoveViewModelInstance_RegisteredViewModel()
        {
            ViewModelManager.ClearAll();

            var viewModel = new ManagedViewModel(typeof(InterestingViewModel));

            var interestingViewModel = new InterestingViewModel();

            viewModel.AddViewModelInstance(interestingViewModel);
            viewModel.RemoveViewModelInstance(interestingViewModel);
        }
Пример #5
0
        public void InterestingViewModel_Event_Closed()
        {
            ViewModelManager.ClearAll();

            var interestingViewModel = new InterestingViewModel();
            var interestedViewModel  = new InterestedViewModel();

            interestingViewModel.CloseViewModel(null);

            Assert.AreEqual(1, interestedViewModel.ViewModelEvents.Count);
            Assert.AreEqual(ViewModelEvent.Closed, interestedViewModel.ViewModelEvents[0]);

            interestingViewModel.CloseViewModel(false);
            interestedViewModel.CloseViewModel(false);
        }
Пример #6
0
        public void InterestingViewModel_Event_CancelingAndCanceled()
        {
            ViewModelManager.ClearAll();

            var interestingViewModel = new InterestingViewModel();
            var interestedViewModel  = new InterestedViewModel();

            interestingViewModel.CancelViewModel();

            Assert.AreEqual(2, interestedViewModel.ViewModelEvents.Count);
            Assert.AreEqual(ViewModelEvent.Canceling, interestedViewModel.ViewModelEvents[0]);
            Assert.AreEqual(ViewModelEvent.Canceled, interestedViewModel.ViewModelEvents[1]);

            interestingViewModel.CloseViewModel(false);
            interestedViewModel.CloseViewModel(false);
        }
Пример #7
0
        public async Task InterestingViewModel_Event_SavingAndSaved()
        {
            ViewModelManager.ClearAll();

            var interestingViewModel = new InterestingViewModel();
            var interestedViewModel  = new InterestedViewModel();

            await interestingViewModel.SaveViewModel();

            Assert.AreEqual(2, interestedViewModel.ViewModelEvents.Count);
            Assert.AreEqual(ViewModelEvent.Saving, interestedViewModel.ViewModelEvents[0]);
            Assert.AreEqual(ViewModelEvent.Saved, interestedViewModel.ViewModelEvents[1]);

            await interestingViewModel.CloseViewModel(false);

            await interestedViewModel.CloseViewModel(false);
        }
Пример #8
0
        public void InterestingViewModelPropertyChanged()
        {
            ViewModelManager.ClearAll();

            var viewModel = new ManagedViewModel(typeof(InterestingViewModel));

            var interestingViewModel = new InterestingViewModel();
            var interestedViewModel  = new InterestedViewModel();

            viewModel.AddViewModelInstance(interestingViewModel);
            viewModel.AddInterestedViewModel(interestedViewModel);

            interestingViewModel.InterestingValue = "new value";
            Assert.AreEqual("new value", interestedViewModel.InterestedValue);

            interestingViewModel.CloseViewModel(false);
            interestedViewModel.CloseViewModel(false);
        }
Пример #9
0
        public void InterestingViewModelCommandExecutedWithCommandParameter()
        {
            ViewModelManager.ClearAll();

            var viewModel = new ManagedViewModel(typeof(InterestingViewModel));

            var interestingViewModel = new InterestingViewModel();
            var interestedViewModel  = new InterestedViewModel();

            viewModel.AddViewModelInstance(interestingViewModel);
            viewModel.AddInterestedViewModel(interestedViewModel);

            interestingViewModel.TestCommand.Execute("parameter");
            Assert.AreEqual(true, interestedViewModel.CommandHasBeenExecuted);
            Assert.AreEqual(true, interestedViewModel.CommandHasBeenExecutedWithParameter);

            interestingViewModel.CloseViewModel(false);
            interestedViewModel.CloseViewModel(false);
        }
Пример #10
0
        public async Task InterestingViewModelCommandExecuted()
        {
            ViewModelManager.ClearAll();

            var viewModel = new ManagedViewModel(typeof(InterestingViewModel));

            var interestingViewModel = new InterestingViewModel();
            var interestedViewModel  = new InterestedViewModel();

            viewModel.AddViewModelInstance(interestingViewModel);
            viewModel.AddInterestedViewModel(interestedViewModel);

            interestingViewModel.TestCommand.Execute(null);

            Assert.AreEqual(true, interestedViewModel.CommandHasBeenExecuted);
            Assert.AreEqual(false, interestedViewModel.CommandHasBeenExecutedWithParameter);

            await interestingViewModel.CloseViewModelAsync(false);

            await interestedViewModel.CloseViewModelAsync(false);
        }
Пример #11
0
        public void UnregisterViewModelInstance_ExistingViewModel()
        {
            var manager = new ViewModelManager();
            var viewModel = new InterestingViewModel();

            manager.RegisterViewModelInstance(viewModel);
            manager.UnregisterViewModelInstance(viewModel);
        }
Пример #12
0
        public void InterestingViewModel_Event_CancelingAndCanceled()
        {
            ViewModelManager.ClearAll();

            var interestingViewModel = new InterestingViewModel();
            var interestedViewModel = new InterestedViewModel();

            interestingViewModel.CancelViewModel();

            Assert.AreEqual(2, interestedViewModel.ViewModelEvents.Count);
            Assert.AreEqual(ViewModelEvent.Canceling, interestedViewModel.ViewModelEvents[0]);
            Assert.AreEqual(ViewModelEvent.Canceled, interestedViewModel.ViewModelEvents[1]);

            interestingViewModel.CloseViewModel(false);
            interestedViewModel.CloseViewModel(false);
        }
Пример #13
0
        public void RemoveViewModelInstance_RegisteredViewModel()
        {
            ViewModelManager.ClearAll();

            var viewModel = new ManagedViewModel(typeof (InterestingViewModel));

            var interestingViewModel = new InterestingViewModel();
            viewModel.AddViewModelInstance(interestingViewModel);
            viewModel.RemoveViewModelInstance(interestingViewModel);
        }
Пример #14
0
        public async Task InterestingViewModel_Event_Closed()
        {
            ViewModelManager.ClearAll();

            var interestingViewModel = new InterestingViewModel();
            var interestedViewModel = new InterestedViewModel();

            await interestingViewModel.CloseViewModel(null);

            Assert.AreEqual(1, interestedViewModel.ViewModelEvents.Count);
            Assert.AreEqual(ViewModelEvent.Closed, interestedViewModel.ViewModelEvents[0]);

            await interestingViewModel.CloseViewModel(false);
            await interestedViewModel.CloseViewModel(false);
        }
Пример #15
0
        public async Task InterestingViewModel_Event_SavingAndSaved()
        {
            ViewModelManager.ClearAll();

            var interestingViewModel = new InterestingViewModel();
            var interestedViewModel = new InterestedViewModel();

            await interestingViewModel.SaveViewModel();

            Assert.AreEqual(2, interestedViewModel.ViewModelEvents.Count);
            Assert.AreEqual(ViewModelEvent.Saving, interestedViewModel.ViewModelEvents[0]);
            Assert.AreEqual(ViewModelEvent.Saved, interestedViewModel.ViewModelEvents[1]);

            await interestingViewModel.CloseViewModel(false);
            await interestedViewModel.CloseViewModel(false);
        }
Пример #16
0
        public async Task InterestedViewModelAutomaticallyBeingRemovedWhenClosed()
        {
            ViewModelManager.ClearAll();

            var viewModel = new ManagedViewModel(typeof (InterestingViewModel));

            var interestingViewModel = new InterestingViewModel();
            var interestedViewModel = new InterestedViewModel();

            viewModel.AddViewModelInstance(interestingViewModel);
            viewModel.AddInterestedViewModel(interestedViewModel);

            interestingViewModel.InterestingValue = "new value";
            Assert.AreEqual("new value", interestedViewModel.InterestedValue);

            await interestedViewModel.CloseViewModel(null);

            interestingViewModel.InterestingValue = "new value which has changed";
            Assert.AreNotEqual("new value which has changed", interestedViewModel.InterestedValue);
            Assert.AreEqual("new value", interestedViewModel.InterestedValue);

            await interestingViewModel.CloseViewModel(false);
            await interestedViewModel.CloseViewModel(false);
        }
Пример #17
0
        public async Task InterestingViewModelCommandExecutedWithCommandParameter()
        {
            ViewModelManager.ClearAll();

            var viewModel = new ManagedViewModel(typeof (InterestingViewModel));

            var interestingViewModel = new InterestingViewModel();
            var interestedViewModel = new InterestedViewModel();

            viewModel.AddViewModelInstance(interestingViewModel);
            viewModel.AddInterestedViewModel(interestedViewModel);

            interestingViewModel.TestCommand.Execute("parameter");
            Assert.AreEqual(true, interestedViewModel.CommandHasBeenExecuted);
            Assert.AreEqual(true, interestedViewModel.CommandHasBeenExecutedWithParameter);

            await interestingViewModel.CloseViewModel(false);
            await interestedViewModel.CloseViewModel(false);
        }
Пример #18
0
        public async Task InterestingViewModelPropertyChanged()
        {
            ViewModelManager.ClearAll();

            var viewModel = new ManagedViewModel(typeof (InterestingViewModel));

            var interestingViewModel = new InterestingViewModel();
            var interestedViewModel = new InterestedViewModel();

            viewModel.AddViewModelInstance(interestingViewModel);
            viewModel.AddInterestedViewModel(interestedViewModel);

            interestingViewModel.InterestingValue = "new value";
            Assert.AreEqual("new value", interestedViewModel.InterestedValue);

            await interestingViewModel.CloseViewModel(false);
            await interestedViewModel.CloseViewModel(false);
        }
Пример #19
0
        public void RemoveInterestedViewModelInstance_ViewModelForExistingInterestedInViewModel()
        {
            var manager = new ViewModelManager();

            var interestingViewModel = new InterestingViewModel();
            var interestedViewModel = new InterestedViewModel();

            manager.RegisterViewModelInstance(interestingViewModel);
            manager.AddInterestedViewModelInstance(typeof(InterestingViewModel), interestedViewModel);
            manager.RemoveInterestedViewModelInstance(typeof(InterestingViewModel), interestedViewModel);
        }