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); }
/// <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); } }