public void ShowView() { CreateContainer(); var view = new FrameworkElement(); var title = Guid.NewGuid().ToString(); var viewResult = new ViewResult(view, title); var viewBuilder = MockRepository.GenerateStub<IViewFactory>(); viewBuilder.Stub(vb => vb.Build(Arg<ViewTargets>.Is.Anything, Arg<Object>.Is.Anything)) .Return(viewResult); ComponentContainer.Container.Kernel.AddComponentInstance<IViewFactory>(viewBuilder); var tabControl = new TabControl(); var viewController = new ViewController(tabControl); var message = new ShowViewMessage(ViewTargets.Detail); _MessageBus.Publish<ShowViewMessage>(message); var viewFound = false; foreach (TabItem tabItem in tabControl.Items) { if (tabItem.Header.ToString() == title) { viewFound = true; } } Assert.IsTrue(viewFound); }
public void Create() { var view = new FrameworkElement(); var title = Guid.NewGuid().ToString(); var viewResult = new ViewResult(view, title); Assert.AreSame(view, viewResult.View); Assert.AreEqual(title, viewResult.Title); }
public ViewResult Build(ViewTargets viewTarget, Object viewParams) { var viewConfig = ComponentContainer.Container.Resolve<ViewConfiguration>(viewTarget.ToString()); var view = viewConfig.View; if (viewConfig.ViewModel != null) { // There was a view model explicitly defined, use it. view.DataContext = viewConfig.ViewModel; } LoadViewModelHelper(view.DataContext, viewParams); var viewResult = new ViewResult(view, GetTitleFromViewModel(view.DataContext)); return viewResult; }
public void CloseExists() { CreateContainer(); var view = new FrameworkElement(); var title = Guid.NewGuid().ToString(); var viewResult = new ViewResult(view, title); var viewBuilder = MockRepository.GenerateStub<IViewFactory>(); viewBuilder.Stub(vb => vb.Build(Arg<ViewTargets>.Is.Anything, Arg<Object>.Is.Anything)) .Return(viewResult); ComponentContainer.Container.Kernel.AddComponentInstance<IViewFactory>(viewBuilder); var tabControl = new TabControl(); var viewController = new ViewController(tabControl); var newTabItem = new TabItem() { Header = title }; tabControl.Items.Add(newTabItem); var message = new CloseViewMessage(title); _MessageBus.Publish<CloseViewMessage>(message); Assert.AreEqual(0, tabControl.Items.Count); }