Ejemplo n.º 1
0
        public void DialogManagerViewModelHelper_Direct_Property_Injection_Without_View_Does_Nothing()
        {
            var view      = (FrameworkElement)null;
            var viewModel = new DialogManagerViewModelWithSetableProperty();
            var dialogAssemblyViewProvider = Mock.Of <DialogAssemblyViewProvider>();
            var viewProvider = Mock.Of <IViewProvider>();

            _ = new DialogManager(dialogAssemblyViewProvider, viewProvider);

            // Act
            Mock.Get(viewProvider).Raise(provider => provider.ViewLoaded += null, new ViewLoadedEventArgs(viewModel, view));

            // Assert
            Assert.Null(viewModel.DialogManager);
        }
Ejemplo n.º 2
0
        public void DialogManagerViewModelHelper_Direct_Property_Injection_Succeeds()
        {
            // Arrange
            var view      = new Window();
            var viewModel = new DialogManagerViewModelWithSetableProperty();
            var dialogAssemblyViewProvider = Mock.Of <DialogAssemblyViewProvider>();
            var viewProvider = Mock.Of <IViewProvider>();

            _ = new DialogManager(dialogAssemblyViewProvider, viewProvider);

            // Act
            Mock.Get(viewProvider).Raise(provider => provider.ViewLoaded += null, new ViewLoadedEventArgs(viewModel, view));

            // Assert
            Assert.NotNull(viewModel.DialogManager);
            Assert.That(viewModel.DialogManager.IsInitialized, Is.False);
            view.RaiseEvent(new RoutedEventArgs(FrameworkElement.LoadedEvent));
            Assert.That(viewModel.DialogManager.IsInitialized, Is.True);
        }
Ejemplo n.º 3
0
        public void DialogManagerViewModelHelper_Just_Initializes_Existing_DialogManager()
        {
            var view      = new Window();
            var viewModel = new DialogManagerViewModelWithSetableProperty();
            var dialogAssemblyViewProvider = Mock.Of <DialogAssemblyViewProvider>();
            var viewProvider  = Mock.Of <IViewProvider>();
            var dialogManager = new DialogManager(dialogAssemblyViewProvider, viewProvider);

            viewModel.DialogManager = dialogManager;             //! Pre-Initialize the property.

            // Act
            Mock.Get(viewProvider).Raise(provider => provider.ViewLoaded += null, new ViewLoadedEventArgs(viewModel, view));

            // Assert
            Assert.NotNull(viewModel.DialogManager);
            Assert.That(viewModel.DialogManager, Is.EqualTo(dialogManager));             // The DialogManager property must still be the same instance, since the helper should only initialize it.
            Assert.That(viewModel.DialogManager.IsInitialized, Is.False);
            view.RaiseEvent(new RoutedEventArgs(FrameworkElement.LoadedEvent));          // Make this view already loaded.
            Assert.That(viewModel.DialogManager.IsInitialized, Is.True);
        }