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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }