コード例 #1
0
        public void ShouldResolveExplicitelyRegisteredType()
        {
            // Arrange
            var services = new ServiceConnect.Container.Default.Container();

            services.RegisterFor(typeof(MyImplementation), typeof(IMyInterface <string>));

            // Act
            var result = services.Resolve <IMyInterface <string> >();

            // Assert
            Assert.NotNull(result);
            Assert.Equal("MyImplementation", result.GetType().Name);
        }
コード例 #2
0
        public void ShouldResolveRegisteredTypeWithCtorParams()
        {
            // Arrange
            var services = new ServiceConnect.Container.Default.Container();

            services.RegisterFor(typeof(MyImplementationWithCtor), typeof(IMyInterface <string>));

            // Act
            var result = services.Resolve(typeof(IMyInterface <string>), new Dictionary <string, object> {
                { "name", "testName" }
            });

            // Assert
            Assert.NotNull(result);
            Assert.Equal("testName", ((IMyInterface <string>)result).Name);
        }
コード例 #3
0
        public void ShouldResolveRegisteredInstances()
        {
            // Arrange
            IMyInterface <string> myInstance = new MyGenericImplementation <string>();

            myInstance.Name = "test";
            var services = new ServiceConnect.Container.Default.Container();

            services.RegisterFor(myInstance, typeof(IMyInterface <string>));

            // Act
            var result = services.Resolve(typeof(IMyInterface <string>));

            // Assert
            Assert.NotNull(result);
            Assert.Equal("test", ((IMyInterface <string>)result).Name);
        }