示例#1
0
        public void ShouldResolveClassWithSimpleDependencies()
        {
            // given
            var dependency1 = new VerySimpleClass();
            var dependency2 = new AnotherVerySimpleClass();
            var container   = new ObjectContainer();

            container.RegisterTypeAs <ClassWithSimpleDependencies, IInterface3>();
            container.RegisterInstanceAs <IInterface1>(dependency1);
            container.RegisterInstanceAs <IInterface2>(dependency2);

            // when

            var obj = container.Resolve <IInterface3>();

            // then

            Assert.IsNotNull(obj);
            Assert.IsInstanceOf(typeof(ClassWithSimpleDependencies), obj);
            Assert.AreSame(dependency1, ((ClassWithSimpleDependencies)obj).Dependency1);
            Assert.AreSame(dependency2, ((ClassWithSimpleDependencies)obj).Dependency2);
        }
示例#2
0
        public void ShouldResolveClassWithSimpleDependencies()
        {
            // given
            var dependency1 = new VerySimpleClass();
            var dependency2 = new AnotherVerySimpleClass();
            var container = new ObjectContainer();
            container.RegisterTypeAs<ClassWithSimpleDependencies, IInterface3>();
            container.RegisterInstanceAs<IInterface1>(dependency1);
            container.RegisterInstanceAs<IInterface2>(dependency2);

            // when

            var obj = container.Resolve<IInterface3>();

            // then

            Assert.IsNotNull(obj);
            Assert.IsInstanceOf(typeof(ClassWithSimpleDependencies), obj);
            Assert.AreSame(dependency1, ((ClassWithSimpleDependencies)obj).Dependency1);
            Assert.AreSame(dependency2, ((ClassWithSimpleDependencies)obj).Dependency2);
        }