public void FrameworkDependencyVisitor_By_DependencyTypeCatalog() { var catalog = new FrameworkTypeCatalog(this.mockTypes); var visitor = new FrameworkDependencyVisitor(catalog); var root = visitor.VisitTypes(); WriteToSerialization(root); }
/// <summary> /// 관리되는 대상 목록의 조건에 만족하는 타입을 반환합니다. /// </summary> /// <returns> /// 조건에 만족하는 타입 목록입니다. /// </returns> public override IEnumerable<Type> GetMatchingTypes() { foreach(var assembly in this.assemblies) { var catalog = new FrameworkTypeCatalog(assembly.GetTypes()); var types = catalog.GetMatchingTypes(); foreach (var type in types) { yield return type; } } }
/// <summary> /// 관리되는 대상 목록의 조건에 만족하는 타입을 반환합니다. /// </summary> /// <returns> /// 조건에 만족하는 타입 목록입니다. /// </returns> public override IEnumerable <Type> GetMatchingTypes() { foreach (var assembly in this.assemblies) { var catalog = new FrameworkTypeCatalog(assembly.GetTypes()); var types = catalog.GetMatchingTypes(); foreach (var type in types) { yield return(type); } } }
public void DynamicTypeCatalog_Test() { var inputTypes = new Type[] { typeof(DynamicInterface) }; var catalog = new FrameworkTypeCatalog(inputTypes); var types = catalog.GetMatchingTypes(); foreach ( var type in types ) { TestContext.WriteLine(type.AssemblyQualifiedName); } Assert.IsTrue(types.Count() > 0); }
public void DependencyTypeCatalog_Basic_Test() { var inputTypes = new Type[] { typeof(MockDependencyClass) }; var catalog = new FrameworkTypeCatalog(inputTypes); var types = catalog.GetMatchingTypes(); foreach (var type in types) { TestContext.WriteLine(type.AssemblyQualifiedName); Assert.IsTrue( type == typeof(MockDependencyClass)); } }
public void DependencyTypeCatalog_Basic_Test() { var inputTypes = new Type[] { typeof(MockDependencyClass) }; var catalog = new FrameworkTypeCatalog(inputTypes); var types = catalog.GetMatchingTypes(); foreach (var type in types) { TestContext.WriteLine(type.AssemblyQualifiedName); Assert.IsTrue(type == typeof(MockDependencyClass)); } }
public void DynamicTypeCatalog_Test() { var inputTypes = new Type[] { typeof(DynamicInterface) }; var catalog = new FrameworkTypeCatalog(inputTypes); var types = catalog.GetMatchingTypes(); foreach (var type in types) { TestContext.WriteLine(type.AssemblyQualifiedName); } Assert.IsTrue(types.Count() > 0); }
public void FrameworkDependencyVisitor_By_Must_Success_With_Key() { var mockTypes = new Type[] { typeof(MockClass_Must_Success_With_Key1), typeof(MockClass_Must_Success_With_Key2) }; var catalog = new FrameworkTypeCatalog(mockTypes); var visitor = new FrameworkDependencyVisitor(catalog); var root = visitor.VisitTypes(); WriteToSerialization(root); var result = root.Verify(); Assert.IsTrue(result.Result); }
public void FrameworkContainerComposition_with_DynamicAttribute_Test() { var container = new FrameworkContainerForUnity(); var catalog = new FrameworkTypeCatalog(new Type[] { typeof(IEntity), typeof(Entity), typeof(DynamicObject_Tests), typeof(Unity_Component_Tests) }); var visitor = new FrameworkDependencyVisitor(catalog); var root = visitor.VisitTypes(); var composite = new FrameworkCompositionResolverForUnity(container, root); composite.Compose(); //XmlSerializer xs = new XmlSerializer(typeof(UmcCoreIoCElement)); //xs.Serialize(Console.Out, root); var entity = container.Resolve<IEntity>(); entity.Name = "Junil, Um"; Console.WriteLine("Name={0}", entity.Name); entity = container.Resolve<IEntity>(); Console.WriteLine("Name={0}", entity.Name); }
public void FrameworkDependencyVisitor_By_Extension_and_Must_Fail() { var mockTypes = new Type[] { typeof(MockClass_Must_Fail1), typeof(MockClass_Must_Fail2) }; var catalog = new FrameworkTypeCatalog(mockTypes); var visitor = new FrameworkDependencyVisitor(catalog); var root = visitor.VisitTypes(); WriteToSerialization(root); var result = root.Verify(); Assert.IsFalse(result.Result); foreach (var element in result.InvalidRegisterElement) { TestContext.WriteLine("Invalid Element - Contract:{0} key:{1}", element.contract, element.key); } }
public void Save_and_Load_FrameworkConfiguratoinExtension_Test() { var filename = "configuration.ioc.config"; var mockTypes = new Type[] { typeof(MockSimple), }; var catalog = new FrameworkTypeCatalog(mockTypes); var visitor = new FrameworkDependencyVisitor(catalog); var root = visitor.VisitTypes(); var xs = new XmlSerializer(typeof(UmcCoreIoCElement)); using (StreamWriter sw = new StreamWriter(filename)) { xs.Serialize(sw, root); } TestContext.WriteLine(File.ReadAllText(filename)); IFrameworkContainer newContainer = new FrameworkContainerForUnity(); newContainer.Load(filename); TestContext.WriteLine(newContainer.Resolve<IMockSimple>().GetHashCode().ToString()); }