public static IUnityContainer RegisterTypeForNavigationFromViewModel <TViewModel>(this IUnityContainer container) where TViewModel : class { var viewType = PageNavigationTypeResolver.ResolveForViewType <TViewModel>(); var name = PageNavigationNameResolver.Resolve <TViewModel>(); return(container.RegisterTypeForNavigation(viewType, name)); }
public void ResolveForViewTypeWhenDifferentAssembly() { PageNavigationTypeResolver.AssignAssemblies <TestPage, TestPageViewModel>(); var actual = PageNavigationTypeResolver.ResolveForViewType <TestPageViewModel>(); Assert.Equal(typeof(TestPage), actual); }
public void Clear() { PageNavigationTypeResolver.AssignAssemblies <TestPage, TestPageViewModel>(); PageNavigationTypeResolver.Clear(); Assert.Null(PageNavigationTypeResolver.ResolveForViewModelType(typeof(TestPage))); Assert.Null(PageNavigationTypeResolver.ResolveForViewType <TestPageViewModel>()); }
public PageNavigationTypeResolverFixture() { PageNavigationTypeResolver.Clear(); }
public void ResolveForViewTypeWhenPageOfSameAssembly() { var actual = PageNavigationTypeResolver.ResolveForViewType <MockPageViewModel>(); Assert.Equal(typeof(MockPage), actual); }
public void ResolveForViewModelTypeWhenViewOfSameAssembly() { var actual = PageNavigationTypeResolver.ResolveForViewModelType(typeof(MockView)); Assert.Equal(typeof(MockViewModel), actual); }
public void ResolveForViewModelTypeWhenArgumentIsNull() { Assert.Throws <ArgumentNullException>(() => PageNavigationTypeResolver.ResolveForViewModelType(null)); }
protected override void ConfigureContainer() { base.ConfigureContainer(); PageNavigationTypeResolver.AssignAssemblies <MainPage, MainPageViewModel>(); ViewModelLocationProvider.SetDefaultViewTypeToViewModelTypeResolver(PageNavigationTypeResolver.ResolveForViewModelType); }