Exemplo n.º 1
0
            public void GetServices_wraps_service_and_returns_wrapped_services()
            {
                var originalService1 = new Mock <IPilkington>().Object;
                var wrappedService1  = new Mock <IPilkington>().Object;
                var originalService2 = new Mock <IPilkington>().Object;
                var wrappedService2  = new Mock <IPilkington>().Object;

                var snapshot = new Mock <IDbDependencyResolver>();

                snapshot.Setup(m => m.GetServices(typeof(IPilkington), "Foo"))
                .Returns(new object[] { originalService1, originalService2 });

                var resolver = new WrappingDependencyResolver <IPilkington>(
                    snapshot.Object,
                    (s, k) =>
                {
                    Assert.Equal("Foo", k);
                    return(s == originalService1 ? wrappedService1 : s == originalService2 ? wrappedService2 : null);
                });

                var pilkingtons = resolver.GetServices <IPilkington>("Foo").ToList();

                Assert.Equal(2, pilkingtons.Count);
                Assert.Same(wrappedService1, pilkingtons[0]);
                Assert.Same(wrappedService2, pilkingtons[1]);
                snapshot.Verify(m => m.GetServices(typeof(IPilkington), "Foo"));
            }
Exemplo n.º 2
0
            public void GetServices_returns_empty_list_when_contract_type_does_not_match()
            {
                var resolver = new WrappingDependencyResolver <IPilkington>(
                    new Mock <IDbDependencyResolver>().Object,
                    (s, k) =>
                {
                    Assert.True(false);
                    return(s);
                });

                Assert.Empty(resolver.GetServices <Random>());
            }
Exemplo n.º 3
0
            public void GetService_wraps_service_and_returns_wrapped_service()
            {
                var originalService = new Mock <IPilkington>().Object;
                var wrappedService  = new Mock <IPilkington>().Object;

                var snapshot = new Mock <IDbDependencyResolver>();

                snapshot.Setup(m => m.GetService(typeof(IPilkington), "Foo")).Returns(originalService);

                var resolver = new WrappingDependencyResolver <IPilkington>(
                    snapshot.Object,
                    (s, k) =>
                {
                    Assert.Same(originalService, s);
                    Assert.Equal("Foo", k);
                    return(wrappedService);
                });

                Assert.Same(wrappedService, resolver.GetService <IPilkington>("Foo"));
                snapshot.Verify(m => m.GetService(typeof(IPilkington), "Foo"));
            }