Esempio n. 1
0
        public void Test_Should_Give_Correct_BeanData_Values()
        {
            var beanData = new BeanData(typeof(BeanScoped));

            Assert.Equal(typeof(BeanScoped), beanData.TBean);
            Assert.Equal(ScopeType.SCOPED, beanData.Scope);
            Assert.Equal("Primary", beanData.BeanName);
        }
        public void GetBeanshReturnsResultOfIBeanProvider()
        {
            var      beanMock = new Mock <IBeanProvider>();
            BeanData beanData = new BeanData();

            beanMock.Setup(x => x.GetBeanData()).Returns(beanData);

            var controller = new BeanController(beanMock.Object);

            var result     = controller.GetBeans();
            var resultData = result.Result.As <JsonResult>();

            resultData.StatusCode.Should().Equals(200);
            ((BeanData)resultData.Value).Should().Equals(beanData);
        }
Esempio n. 3
0
        /// <summary>
        /// Register a bean (class marked as bean) with interface in service collection
        /// </summary>
        /// <param name="services">Service Collection</param>
        /// <param name="tinterface">Type of the interface where the class is annotated with the bean</param>
        /// <param name="beanData">Bean's data</param>
        private static void RegisterTypeInServiceCollection(IServiceCollection services, Type tinterface, BeanData beanData)
        {
            Type realInterfaceType = GetRealTypeFromBaseType(tinterface);
            Type realBeanType      = GetRealTypeFromBaseType(beanData.TBean);

            if (beanData.Scope == ScopeType.TRANSIENT)
            {
                services.AddTransient(realInterfaceType, realBeanType);
            }
            else if (beanData.Scope == ScopeType.SCOPED)
            {
                services.AddScoped(realInterfaceType, realBeanType);
            }
            else
            {
                services.AddSingleton(realInterfaceType, realBeanType);
            }
        }