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); }
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 }