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")); }
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>()); }