public void ContainerMustBeAbleToReturnAListOfServices()
        {
            var mockSampleService = new Mock<ISampleService>();
            var container = new ServiceContainer();

            // Add a bunch of dummy services
            for (int i = 0; i < 10; i++)
            {
                string serviceName = string.Format("Service{0}", i + 1);
                container.AddService(serviceName, mockSampleService.Object);
            }

            IEnumerable<ISampleService> services = container.GetServices<ISampleService>();
            Assert.IsTrue(services.Count() == 10);

            // The resulting set of services
            // must match the given service instance
            foreach (ISampleService service in services)
            {
                Assert.AreSame(mockSampleService.Object, service);
            }
        }
        public void ContainerMustGetMultipleServicesOfTheSameTypeInOneCall()
        {
            var container = new ServiceContainer();
            int mockServiceCount = 10;

            // Add a set of dummy services
            for (int i = 0; i < mockServiceCount; i++)
            {
                var mockService = new Mock<ISampleService>();
                container.AddService(string.Format("Service{0}", i + 1), mockService.Object);
            }

            IEnumerable<ISampleService> instances = container.GetServices<ISampleService>();
            foreach (ISampleService serviceInstance in instances)
            {
                Assert.IsInstanceOfType(typeof (ISampleService), serviceInstance);
                Assert.IsNotNull(serviceInstance);
            }
        }
Пример #3
0
        private static ServiceContainer GetContainerWithMockSampleServices()
        {
            var mockSampleService = new Mock<ISampleService>();
            var container = new ServiceContainer();

            // Add a bunch of dummy services
            for (var i = 0; i < 10; i++)
            {
                var serviceName = string.Format("Service{0}", i + 1);
                container.AddService(serviceName, mockSampleService.Object);
            }

            var services = container.GetServices<ISampleService>();
            Assert.IsTrue(services.Count() == 10);

            foreach (var service in services)
            {
                Assert.AreSame(mockSampleService.Object, service);
            }

            return container;
        }