예제 #1
0
 public void CheckValidation()
 {
     config.RegistrateGeneric(typeof(IGeneric1 <>), typeof(Generic1 <>), Patterns.USUAL);
     config.RegistrateGeneric(typeof(IGeneric2 <>), typeof(Generic2 <>), Patterns.USUAL);
     generator = new DepecndencyGenerator(config);
     Assert.IsNotNull(generator.Resolve <IGeneric1 <int> >());
 }
예제 #2
0
 public void CheckTypeOfCreatedInstance()
 {
     config.Registrate <I, A>(Patterns.USUAL);
     config.Registrate <A, B2>(Patterns.USUAL);
     config.Registrate <B2, G>(Patterns.USUAL);
     generator = new DepecndencyGenerator(config);
     Assert.IsTrue(generator.Resolve <I>() is G);
 }
예제 #3
0
 public void CheckAmountOfCretedObjects()
 {
     config.Registrate <A, B1>(Patterns.USUAL);
     config.Registrate <A, B2>(Patterns.USUAL);
     config.Registrate <C, D>(Patterns.USUAL);
     generator = new DepecndencyGenerator(config);
     Assert.AreEqual(2, ((List <A>)generator.ResolveAll <A>()).Count);
 }
예제 #4
0
        public void CheckGenericSinglton()
        {
            IGeneric1 <int> iGeneric1, iGeneric2;

            config.RegistrateGeneric(typeof(IGeneric1 <>), typeof(Generic1 <>), Patterns.SINGLTON);
            config.RegistrateGeneric(typeof(IGeneric2 <>), typeof(Generic2 <>), Patterns.SINGLTON);
            generator = new DepecndencyGenerator(config);

            iGeneric1 = generator.Resolve <IGeneric1 <int> >();
            iGeneric2 = generator.Resolve <IGeneric1 <int> >();

            Assert.AreSame(iGeneric1, iGeneric2);
        }
예제 #5
0
        public void CheckSinglton()
        {
            I value1, value2;

            config.Registrate <I, A>(Patterns.SINGLTON);
            config.Registrate <A, B2>(Patterns.USUAL);
            config.Registrate <B2, G>(Patterns.USUAL);

            generator = new DepecndencyGenerator(config);

            value1 = generator.Resolve <I>();
            value2 = generator.Resolve <I>();

            Assert.AreSame(value1, value2);
        }
예제 #6
0
 public void CheckInvalidGenericCreation()
 {
     config.RegistrateGeneric(typeof(IGeneric1 <>), typeof(Generic3 <>), Patterns.USUAL);
     generator = new DepecndencyGenerator(config);
     Assert.IsNull(generator.Resolve <IGeneric2 <string> >());
 }
예제 #7
0
 public void CheckCaseParentEqualSon()
 {
     config.Registrate <A, A>(Patterns.USUAL);
     generator = new DepecndencyGenerator(config);
     Assert.IsNotNull(generator.Resolve <A>());
 }