Example #1
0
        public void ClassFactory_CreateChildFactory_Returns_Child_That_Contains_Same_Implementations_And_Singletons()
        {
            X x = new X();

            _ClassFactory.RegisterInstance <IX>(x);
            _ClassFactory.Register <IY, Y>();

            IClassFactory child = _ClassFactory.CreateChildFactory();

            Assert.AreSame(x, child.Resolve <IX>());
            Assert.IsInstanceOfType(child.Resolve <IY>(), typeof(Y));
        }
Example #2
0
        public void ClassFactory_CreateChildFactory_Returns_Child_That_Can_Be_Modified_Independently_Of_Parent()
        {
            _ClassFactory.Register <IX, X>();
            IClassFactory child = _ClassFactory.CreateChildFactory();

            child.Register <IX, XX>();

            Assert.IsInstanceOfType(_ClassFactory.Resolve <IX>(), typeof(X));
            Assert.IsInstanceOfType(child.Resolve <IX>(), typeof(XX));
        }
Example #3
0
 public void ClassFactory_Resolve_Throws_If_InterfaceType_Is_Null()
 {
     _ClassFactory.Resolve(null);
 }