示例#1
0
        public void PrismDependencyResolver_PreInit_Should_ReturnRegisteredLogger()
        {
            using var c = new SplatContainerExtension();
            c.RegisterInstance(typeof(ILogManager), new FuncLogManager(type => new WrappingFullLogger(new ConsoleLogger())));

            var d = Splat.Locator.Current.GetService <ILogManager>();

            Assert.IsType <FuncLogManager>(d);
        }
示例#2
0
        public void PrismDependencyResolver_Should_Resolve_Screen()
        {
            using var builder = new SplatContainerExtension();
            builder.RegisterSingleton(typeof(IScreen), typeof(MockScreen));

            var screen = Locator.Current.GetService <IScreen>();

            screen.Should().NotBeNull();
            screen.Should().BeOfType <MockScreen>();
        }
示例#3
0
        public void PrismDependencyResolver_Should_Resolve_Named_View()
        {
            using var container = new SplatContainerExtension();
            container.Register(typeof(IViewFor <ViewModelTwo>), typeof(ViewTwo), "Other");

            var viewTwo = Locator.Current.GetService(typeof(IViewFor <ViewModelTwo>), "Other");

            viewTwo.Should().NotBeNull();
            viewTwo.Should().BeOfType <ViewTwo>();
        }
示例#4
0
        public void PrismDependencyResolver_Should_UnregisterCurrent_Screen()
        {
            using var builder = new SplatContainerExtension();
            builder.RegisterSingleton(typeof(IScreen), typeof(MockScreen));

            Locator.Current.GetService <IScreen>().Should().NotBeNull();

            Locator.CurrentMutable.UnregisterCurrent(typeof(IScreen));

            Locator.Current.GetService <IScreen>().Should().BeNull();
        }
示例#5
0
        public void PrismDependencyResolver_Should_UnregisterAll_Screen_With_Contract()
        {
            var builder = new SplatContainerExtension();

            builder.RegisterSingleton(typeof(IScreen), typeof(MockScreen), nameof(MockScreen));

            Locator.Current.GetService <IScreen>(nameof(MockScreen)).ShouldNotBeNull();

            Locator.CurrentMutable.UnregisterAll(typeof(IScreen), nameof(MockScreen));

            Locator.Current.GetService <IScreen>(nameof(MockScreen)).ShouldBeNull();
        }
示例#6
0
        public void PrismDependencyResolver_Should_Resolve_View_Models()
        {
            var container = new SplatContainerExtension();

            container.Register(typeof(ViewModelOne), typeof(ViewModelOne));
            container.Register(typeof(ViewModelTwo), typeof(ViewModelTwo));

            var vmOne = Locator.Current.GetService <ViewModelOne>();
            var vmTwo = Locator.Current.GetService <ViewModelTwo>();

            vmOne.ShouldNotBeNull();
            vmTwo.ShouldNotBeNull();
        }