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); }
public void UnregisterViewModelInstance_ExistingViewModel() { var manager = new ViewModelManager(); var viewModel = new InterestingViewModel(); manager.RegisterViewModelInstance(viewModel); manager.UnregisterViewModelInstance(viewModel); }
public void AddInterestedViewModelInstance_ViewModelForExistingInterestedInViewModel() { var manager = new ViewModelManager(); var interestingViewModel = new InterestingViewModel(); var interestedViewModel = new InterestedViewModel(); manager.RegisterViewModelInstance(interestingViewModel); manager.AddInterestedViewModelInstance(typeof(InterestingViewModel), interestedViewModel); }
public void RemoveViewModelInstance_RegisteredViewModel() { ViewModelManager.ClearAll(); var viewModel = new ManagedViewModel(typeof(InterestingViewModel)); var interestingViewModel = new InterestingViewModel(); viewModel.AddViewModelInstance(interestingViewModel); viewModel.RemoveViewModelInstance(interestingViewModel); }
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); }
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); }
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); }
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); }
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); }
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); }
public void RemoveViewModelInstance_RegisteredViewModel() { ViewModelManager.ClearAll(); var viewModel = new ManagedViewModel(typeof (InterestingViewModel)); var interestingViewModel = new InterestingViewModel(); viewModel.AddViewModelInstance(interestingViewModel); viewModel.RemoveViewModelInstance(interestingViewModel); }
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); }
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); }
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); }
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); }
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); }