public void TestSingletonBehaviour1()
        {
            var context = new ElderBox(GetConfiguration());

            var instance1 = context.Resolve<ServiceSingletonA>();
            var instance2 = context.Resolve<ServiceSingletonB>();

            long actualInstances = Interlocked.Read(ref _instanceCount);
            Assert.AreEqual(1, actualInstances, "Must only create a single instance!");
        }
Example #2
0
        public void TestSingletonBehaviour1()
        {
            var context = new ElderBox(GetConfiguration());

            var instance1 = context.Resolve <ServiceSingletonA>();
            var instance2 = context.Resolve <ServiceSingletonB>();

            long actualInstances = Interlocked.Read(ref _instanceCount);

            Assert.AreEqual(1, actualInstances, "Must only create a single instance!");
        }
        public void TestCircularProtection2()
        {
            var conf = new AutoModuleConfiguration(ApplicationContext.Instance.ScanComponents("Archimedes.*"));
            var container = new ElderBox(conf);

            container.Resolve<ServiceY2>();
        }
        public void TestCircularProtection2()
        {
            var conf      = new AutoModuleConfiguration(ApplicationContext.Instance.ScanComponents("Archimedes.*"));
            var container = new ElderBox(conf);

            container.Resolve <ServiceY2>();
        }
Example #5
0
        public override object CreateInstance(ElderBox ctx, ISet <Type> unresolvedDependencies, object[] providedParameters = null)
        {
            var factoryInstance = ctx.Resolve(_factoryMethodReference.FactoryImplementation);

            var parameters = ctx.AutowireParameters(null, _factoryMethodReference.Method.GetParameters(), unresolvedDependencies, providedParameters);

            return(_factoryMethodReference.Method.Invoke(factoryInstance, parameters));
        }
        public override object CreateInstance(ElderBox ctx, ISet<Type> unresolvedDependencies, object[] providedParameters = null)
        {
            var factoryInstance = ctx.Resolve(_factoryMethodReference.FactoryImplementation);

            var parameters = ctx.AutowireParameters(null, _factoryMethodReference.Method.GetParameters(), unresolvedDependencies, providedParameters);

            return _factoryMethodReference.Method.Invoke(factoryInstance, parameters);
        }
Example #7
0
        public void TestSingletonBehaviour1()
        {
            _instanceCount = 0;
            Assert.AreEqual(0, InstanceCount);

            try
            {
                var context = new ElderBox(GetConfiguration());

                var instance1 = context.Resolve <ServiceAbstractSingletonA>();
                var instance2 = context.Resolve <ServiceAbstractSingletonB>();
                //var instance3 = context.Resolve<ServiceAbstractSingletonImplementation>();
            }
            catch (Exception e)
            {
                Assert.Fail(e.Message);
            }


            Assert.AreEqual(1, InstanceCount, "Must only create a single instance!");
        }
        public void TestSingletonBehaviour1()
        {
            _instanceCount = 0;
            Assert.AreEqual(0, InstanceCount);

            try
            {
                var context = new ElderBox(GetConfiguration());

                var instance1 = context.Resolve<ServiceAbstractSingletonA>();
                var instance2 = context.Resolve<ServiceAbstractSingletonB>();
                //var instance3 = context.Resolve<ServiceAbstractSingletonImplementation>();



            }
            catch (Exception e)
            {
                Assert.Fail(e.Message);
            }


            Assert.AreEqual(1, InstanceCount, "Must only create a single instance!");
        }
 /// <summary>
 /// Instantiate eager components
 /// </summary>
 private void InstantiateEagerComponents(IEnumerable <Type> components)
 {
     foreach (var componentType in components)
     {
         if (IsEagerRequested(componentType))
         {
             try
             {
                 _container.Resolve(componentType);
             }
             catch (Exception e)
             {
                 throw new ApplicationContextException(string.Format("Failed to eager load component '{0}'!", componentType), e);
             }
         }
     }
 }
Example #10
0
        public void TestAmbigous()
        {
            var context = new ElderBox(GetConfiguration());

            var imp = context.Resolve <IServiceAmbig>();
        }
        public void TestCircularProtection()
        {
            var container = new ElderBox(GetConfiguration());

            Assert.Throws <CircularDependencyException>(() => container.Resolve <ServiceY1>());
        }
Example #12
0
        public void TestConstructorByPassing()
        {
            var context = new ElderBox(GetConfiguration());

            var imp = context.Resolve <ServiceX>();
        }
Example #13
0
        public void TestAmbigous()
        {
            var context = new ElderBox(GetConfiguration());

            Assert.Throws <AmbiguousMappingException>(() => context.Resolve <IServiceAmbig>());
        }
Example #14
0
 public void TestInterfaceConstructorWiring()
 {
     var context  = new ElderBox(GetConfiguration());
     var instance = context.Resolve <ServiceD>();
 }
        public void TestConstructorByPassing()
        {
            var context = new ElderBox(GetConfiguration());

            var imp = context.Resolve<ServiceX>();
        }
        public void TestAmbigous()
        {
            var context = new ElderBox(GetConfiguration());

            Assert.Throws<AmbiguousMappingException>(() => context.Resolve<IServiceAmbig>());
        }
 public void TestInterfaceConstructorWiring()
 {
     var context = new ElderBox(GetConfiguration());
     var instance = context.Resolve<ServiceD>();
 }
Example #18
0
 public void TestPrimaryScoped()
 {
     var context = new ElderBox(GetConfiguration());
     var serviceA = context.Resolve<ServiceB>();
 }
Example #19
0
 public void TestPrimaryScoped()
 {
     var context  = new ElderBox(GetConfiguration());
     var serviceA = context.Resolve <ServiceB>();
 }
        public void TestCircularProtection()
        {
            var container = new ElderBox(GetConfiguration());

            Assert.Throws<CircularDependencyException>(() => container.Resolve<ServiceY1>());
        }
Example #21
0
        public void TestAmbigous()
        {
            var context = new ElderBox(GetConfiguration());

            var imp = context.Resolve<IServiceAmbig>();
        }