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;
                }
            }
        }
Exemple #3
0
        /// <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));
            }
        }
Exemple #7
0
        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());
        }