public void FrameworkDependencyVisitor_By_Must_Success_With_Key()
        {
            Type[] mockTypes = new Type[]
            {
                typeof(MockClass_Must_Success_With_Key1),
                typeof(MockClass_Must_Success_With_Key2)
            };

            DependencyTypeCatalog catalog = new DependencyTypeCatalog(mockTypes);
            FrameworkDependencyVisitor visitor = new FrameworkDependencyVisitor(catalog);
            var root = visitor.VisitTypes();

            WriteToSerialization(root);

            var result = root.Verify();

            Assert.IsTrue(result.Result);
        }
        public void FrameworkDependencyVisitor_By_Must_Success_With_Key()
        {
            Type[] mockTypes = new Type[]
            {
                typeof(MockClass_Must_Success_With_Key1),
                typeof(MockClass_Must_Success_With_Key2)
            };

            DependencyTypeCatalog      catalog = new DependencyTypeCatalog(mockTypes);
            FrameworkDependencyVisitor visitor = new FrameworkDependencyVisitor(catalog);
            var root = visitor.VisitTypes();

            WriteToSerialization(root);

            var result = root.Verify();

            Assert.IsTrue(result.Result);
        }
        public void FrameworkDependencyVisitor_By_Extension_and_Must_Fail()
        {
            Type[] mockTypes = new Type[]
            {
                typeof(MockClass_Must_Fail1),
                typeof(MockClass_Must_Fail2)
            };

            DependencyTypeCatalog catalog = new DependencyTypeCatalog(mockTypes);
            FrameworkDependencyVisitor 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 FrameworkDependencyVisitor_By_Extension_and_Must_Fail()
        {
            Type[] mockTypes = new Type[]
            {
                typeof(MockClass_Must_Fail1),
                typeof(MockClass_Must_Fail2)
            };

            DependencyTypeCatalog      catalog = new DependencyTypeCatalog(mockTypes);
            FrameworkDependencyVisitor 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);
            }
        }