/// <summary> /// Add a list of beans to bean's group /// </summary> /// <param name="beanGroup">Bean's group</param> /// <param name="tbeans">List of beans (classes marked as bean)</param> private void AddTypesToBeanGroup(BeanGroup beanGroup, List <Type> tbeans) { tbeans.ForEach(tbean => { var interfaces = GetDirectInterfaces(tbean); if (interfaces.Count > 0) { interfaces.ForEach(tinterface => beanGroup.Add(tinterface, tbean)); } else { beanGroup.Add(tbean); } }); }
public void Test_Should_Add_SingleBean() { var beanGroup = new BeanGroup(); beanGroup.Add(typeof(SingleBean)); Assert.Contains(beanGroup.SingleBeans, x => x.TBean == typeof(SingleBean)); }
public void Test_Should_Add_InterfaceWithBean() { var beanGroup = new BeanGroup(); beanGroup.Add(typeof(ILangBean), typeof(SpanishLangBean)); var beanCollection = beanGroup.InterfaceBeans.FirstOrDefault(x => x.TInterface == typeof(ILangBean)); Assert.NotNull(beanCollection); var beanData = beanCollection.FindBean(new BeanConfig("Spanish", false)); Assert.NotNull(beanData); Assert.Equal(typeof(SpanishLangBean), beanData.TBean); }