public void BuildWithBadViewModelThrowsException() { _View = new FrameworkElement(); _ViewModel = new Object(); CreateContainer(); var viewFactory = new ViewFactory(); viewFactory.Build(ViewTargets.Detail); }
public void BuildThrowsExceptionWithViewAndNoViewModel() { var view = new FrameworkElement(); var container = new WindsorContainer(); ComponentContainer.Container = container; container.Kernel.AddComponentInstance("DetailView", view); container.Register( Component.For<ViewConfiguration>() .Named(ViewTargets.Detail.ToString()) .Parameters( Parameter.ForKey("View").Eq("${DetailView}"))); var viewFactory = new ViewFactory(); viewFactory.Build(ViewTargets.Detail); }
public void BuildWithImpliedViewModelReturnsControlAndLoadedViewModel() { _View = new FrameworkElement(); var title = Guid.NewGuid().ToString(); var viewModel = MockRepository.GenerateMock<IViewModelWithNoArgumentLoad>(); viewModel.Expect(vm => vm.Title).Return(title); _View.DataContext = viewModel; CreateContainer(); var viewFactory = new ViewFactory(); var viewResult = viewFactory.Build(ViewTargets.Detail); Assert.IsNotNull(viewResult); var resultViewModel = (ITitledViewModel)viewResult.View.DataContext; Assert.AreEqual(title, resultViewModel.Title); viewModel.AssertWasCalled(vm => vm.Load()); }
public void BuildWithParamsThrowsExceptionWhenNoMatchingLoadFound() { _View = new FrameworkElement(); _ViewModel = MockRepository.GenerateStub<ITitledViewModel>(); CreateContainer(); var viewFactory = new ViewFactory(); viewFactory.Build(ViewTargets.Detail, new Object()); }
public void BuildWithParamsReturnsControlAndLoadedViewModel() { _View = new FrameworkElement(); var title = Guid.NewGuid().ToString(); var viewModel = MockRepository.GenerateMock<IViewModelWithParameterizedLoad>(); viewModel.Stub(vm => vm.Load(Arg<String>.Is.Anything)); viewModel.Expect(vm => vm.Title).Return(title); _ViewModel = viewModel; CreateContainer(); var viewFactory = new ViewFactory(); var param = Guid.NewGuid().ToString(); var viewResult = viewFactory.Build(ViewTargets.Detail, param); Assert.IsNotNull(viewResult); var resultViewModel = (ITitledViewModel)viewResult.View.DataContext; Assert.AreEqual(title, resultViewModel.Title); viewModel.AssertWasCalled(vm => vm.Load(Arg<String>.Is.Equal(param))); }
public void BuildWithParamsAndViewModelWithNoLoadMethodThrowsException() { _View = new FrameworkElement(); _ViewModel = MockRepository.GenerateStub<ITitledViewModel>(); CreateContainer(); var viewFactory = new ViewFactory(); viewFactory.Build(ViewTargets.Detail, Guid.NewGuid().ToString()); }
public void BuildWithNoParamsAndViewModelWithNoLoadReturnsView() { _View = new FrameworkElement(); var title = Guid.NewGuid().ToString(); var viewModel = MockRepository.GenerateStub<ITitledViewModel>(); viewModel.Expect(vm => vm.Title).Return(title); _ViewModel = viewModel; CreateContainer(); var viewFactory = new ViewFactory(); var viewResult = viewFactory.Build(ViewTargets.Detail); Assert.IsNotNull(viewResult); var resultViewModel = (ITitledViewModel)viewResult.View.DataContext; Assert.AreEqual(title, resultViewModel.Title); }