Beispiel #1
0
        public void OpenScreen_WhenScreenIsNotAlreadyOpen_PublishesScreenOpenedEvent()
        {
            var conductor = CreateScreenConductor();
            var newScreen = new SingleInstanceScreen();

            var eventArgs = ExpectScreenOpenedEvent(() => {
                conductor.OpenScreen(ScreenFactory.For(newScreen));
            });

            Assert.IsNotNull(eventArgs);
            Assert.AreEqual(conductor, eventArgs.Conductor);
            Assert.AreEqual(newScreen, eventArgs.Screen);
            Assert.IsFalse(eventArgs.WasAlreadyOpen);
        }
Beispiel #2
0
        public void OpenScreen_WhenScrenIsAlreadyOpen_DoesNotAddScreenCloseHandler()
        {
            var conductor           = CreateScreenConductor();
            var alreadyOpenedScreen = new SingleInstanceScreen();

            conductor.OpenScreen(ScreenFactory.For(alreadyOpenedScreen));

            conductor.OpenScreen(ScreenFactory.For(alreadyOpenedScreen));

            Assert.AreEqual(
                1,
                alreadyOpenedScreen
                .Children
                .OfType <ScreenCloseHandler>()
                .Count()
                );
        }