Beispiel #1
0
        public void ShouldCohexistSeveralInstancesWithDifferentViewsInDifferentExecutionContexts()
        {
            Nails.Reset(false);

            Nails.Configure()
            .IoC.Container <NailsFramework.IoC.Spring>()
            .Lemming <TestSingletonPresenter>()
            .Lemming <SwitcheableExcecutionContext>()
            .UserInterface.Platform <NullMvp>()
            .Initialize();

            var context = Nails.ObjectFactory.GetObject <SwitcheableExcecutionContext>();

            var view1 = new TestSingletonView();
            var view2 = new TestSingletonView();

            context.SwitchToA();
            var presenter1 = PresenterProvider.GetFor(view1);

            context.SwitchToB();
            var presenter2 = PresenterProvider.GetFor(view2);

            Assert.AreSame(presenter1, presenter2);
            context.SwitchToA();
            Assert.AreEqual(presenter1.GetView(), view1);
            context.SwitchToB();
            Assert.AreEqual(presenter2.GetView(), view2);
        }
Beispiel #2
0
        public void ShouldNotCohexistSeveralInstancesWithDifferentViewsInTheSameExecutionContext()
        {
            Nails.Configure().IoC.Container <NailsFramework.IoC.Spring>()
            .Lemming <TestSingletonPresenter>()
            .UserInterface.Platform <NullMvp>()
            .Initialize();

            var view1 = new TestSingletonView();
            var view2 = new TestSingletonView();

            var presenter1 = PresenterProvider.GetFor(view1);

            var presenter2 = PresenterProvider.GetFor(view2);

            Assert.AreSame(presenter1, presenter2);
            Assert.AreEqual(presenter1.GetView(), view2); //the last one
        }