예제 #1
0
        public void RegisterViewThatGetsLoaded()
        {
            // ARRANGE
            var view = new Mock <FrameworkElementMock>();

            view
            .Setup(mock => mock.IsAlive)
            .Returns(true);

            // At time of register the view has no parent, thus is not loaded
            DialogServiceViews.Register(view.Object);

            // After register we can simulate that the view gets loaded
            view
            .Setup(mock => mock.GetOwner())
            .Returns(new Window());

            var expected = new[]
            {
                view.Object
            };

            // ACT
            view.Raise(mock => mock.Loaded += null, new RoutedEventArgs(null, view.Object));

            // ASSERT
            Assert.That(DialogServiceViews.Views, Is.EqualTo(expected));
        }
예제 #2
0
        public void RegisterViewThatNeverGetsLoaded()
        {
            // ARRANGE
            var view = new Mock <FrameworkElementMock>();

            view
            .Setup(mock => mock.IsAlive)
            .Returns(true);

            // ACT
            DialogServiceViews.Register(view.Object);

            // ASSERT
            Assert.That(DialogServiceViews.Views, Is.Empty);
        }
예제 #3
0
        public void UnregisterLoadedView()
        {
            // ARRANGE
            var view = new Mock <FrameworkElementMock>();

            view
            .Setup(mock => mock.IsAlive)
            .Returns(true);
            view
            .Setup(mock => mock.GetOwner())
            .Returns(new Window());

            DialogServiceViews.SetIsRegistered(view.Object, true);

            // ACT
            DialogServiceViews.SetIsRegistered(view.Object, false);

            // ASSERT
            Assert.That(DialogServiceViews.Views, Is.Empty);
        }
예제 #4
0
        public void UnregisterWhenClosingOwner()
        {
            // ARRANGE
            var window = new Window();

            var view = new Mock <FrameworkElementMock>();

            view
            .Setup(mock => mock.IsAlive)
            .Returns(true);
            view
            .Setup(mock => mock.GetOwner())
            .Returns(window);

            DialogServiceViews.Register(view.Object);

            // ACT
            window.Close();

            // ASSERT
            Assert.That(DialogServiceViews.Views, Is.Empty);
        }
예제 #5
0
        public void RegisterLoadedView()
        {
            // ARRANGE
            var view = new Mock <FrameworkElementMock>();

            view
            .Setup(mock => mock.IsAlive)
            .Returns(true);
            view
            .Setup(mock => mock.GetOwner())
            .Returns(new Window());

            var expected = new[]
            {
                view.Object
            };

            // ACT
            DialogServiceViews.Register(view.Object);

            // ASSERT
            Assert.That(DialogServiceViews.Views, Is.EqualTo(expected));
        }
예제 #6
0
 public void TearDown()
 {
     DialogServiceViews.Clear();
 }