コード例 #1
0
        private void TestGetGenericDefinition(MethodBase original, MethodBase expected)
        {
            var originalData = new AnalysisDataResolver().Resolve(original);
            var foundData = originalData.GetGenericDefinition();

            Assert.AreEqual(expected, foundData.Inner);
        }
コード例 #2
0
ファイル: EventDataTest.cs プロジェクト: ashmind/ashmind-code
        public void TestAccessorsIncludePrivateMembers()
        {
            var testClass = new AnalysisDataResolver().Resolve <TestClass>();
            var @event    = testClass.GetEvents().Where(e => e.Name == "PrivateEvent").Single();

            Assert.AreEqual(2, @event.Accessors.Count);
        }
コード例 #3
0
        private void TestGetGenericDefinition(MethodBase original, MethodBase expected)
        {
            var originalData = new AnalysisDataResolver().Resolve(original);
            var foundData    = originalData.GetGenericDefinition();

            Assert.AreEqual(expected, foundData.Inner);
        }
コード例 #4
0
        public void TestShouldSelectWithDifferentConstructors(string description, BindingFlags flags, bool shouldSelect)
        {
            var constructor = new AnalysisDataResolver().Resolve(this.GetType().GetConstructors(flags)[0]);

            bool result = new TestableStaticConstructorsSelectionStrategy().ShouldSelect(constructor, null);
            Assert.AreEqual(shouldSelect, result);
        }
コード例 #5
0
        public void TestShouldSelectWithDifferentConstructors(string description, BindingFlags flags, bool shouldSelect)
        {
            var constructor = new AnalysisDataResolver().Resolve(this.GetType().GetConstructors(flags)[0]);

            bool result = new TestableStaticConstructorsSelectionStrategy().ShouldSelect(constructor, null);

            Assert.AreEqual(shouldSelect, result);
        }
        public void SetUp()
        {
            //AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve += (sender, args) => {
            //    return Assembly.ReflectionOnlyLoad(args.Name);
            //};
            //this.assembly = Assembly.ReflectionOnlyLoadFrom(this.GetType().Assembly.Location);

            this.analyzer = new AnalysisDataResolver();
        }
        public void SetUp()
        {
            //AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve += (sender, args) => {
            //    return Assembly.ReflectionOnlyLoad(args.Name);
            //};
            //this.assembly = Assembly.ReflectionOnlyLoadFrom(this.GetType().Assembly.Location);

            this.analyzer = new AnalysisDataResolver();
        }
コード例 #8
0
ファイル: Program.cs プロジェクト: ashmind/ashmind-code
        private IAssemblyData[] LoadAssemblies(IList <string> assemblyPaths)
        {
            var analyzer = new AnalysisDataResolver();

            return((
                       from path in assemblyPaths
                       let assembly = Assembly.LoadFrom(path)
                                      select analyzer.Resolve(assembly)
                       ).ToArray());
        }
コード例 #9
0
ファイル: TypeDataTest.cs プロジェクト: ashmind/ashmind-code
        public void TestMembersExcludesAccessorsOf(string memberNameAndKind) {
            var type = new AnalysisDataResolver().Resolve<TestClass>();
            var member = type.Members.OfType<IWithAccessors>()
                                     .Single(m => m.Name == memberNameAndKind);

            var typeMembersArray = type.Members.ToArray();
            foreach (var accessor in member.Accessors) {
                Assert.DoesNotContain(typeMembersArray, accessor);
            }
        }
        public void Test(Type type, bool expectTrue)
        {
            var constructor = new AnalysisDataResolver().Resolve(type.GetConstructor(Type.EmptyTypes));
            var strategy = new TestableEmptyDefaultConstructorsSelectionStrategy();

            bool result = strategy.ShouldSelect(constructor, null);
            if (expectTrue)
                Assert.IsTrue(result);
            else
                Assert.IsFalse(result);
        }
コード例 #11
0
        public void TestSelectFrom()
        {
            var globalAsaxMethods = new AnalysisDataResolver()
                                    .Resolve(typeof(GlobalAsaxStub))
                                    .GetMethods();

            var selectedMethods = new GlobalAsaxMethodsSelectionStrategy()
                                  .SelectFrom(globalAsaxMethods, null)
                                  .ToArray();

            Assert.AreElementsEqualIgnoringOrder(globalAsaxMethods, selectedMethods);
        }
コード例 #12
0
        public void TestSelectFrom()
        {
            var globalAsaxMethods = new AnalysisDataResolver()
                                            .Resolve(typeof(GlobalAsaxStub))
                                            .GetMethods();

            var selectedMethods = new GlobalAsaxMethodsSelectionStrategy()
                   .SelectFrom(globalAsaxMethods, null)
                   .ToArray();

            Assert.AreElementsEqualIgnoringOrder(globalAsaxMethods, selectedMethods);
        }
コード例 #13
0
        public void TestMembersExcludesAccessorsOf(string memberNameAndKind)
        {
            var type   = new AnalysisDataResolver().Resolve <TestClass>();
            var member = type.Members.OfType <IWithAccessors>()
                         .Single(m => m.Name == memberNameAndKind);

            var typeMembersArray = type.Members.ToArray();

            foreach (var accessor in member.Accessors)
            {
                Assert.DoesNotContain(typeMembersArray, accessor);
            }
        }
コード例 #14
0
ファイル: TypeDataTest.cs プロジェクト: ashmind/ashmind-code
        public void TestGetAllMembersReturnMethodsWithCorrectDeclaringMemberFor(string memberNameAndKind) {
            var type = new AnalysisDataResolver().Resolve<TestClass>();
            var accessors = type.GetAllMembers(false)
                                .OfType<MethodData>()
                                .Where(m => m.Name.EndsWith(memberNameAndKind))
                                .ToArray();

            var declaringMember = type.Members.Single(m => m.Name == memberNameAndKind);

            foreach (var accessor in accessors) {
                Assert.AreEqual(declaringMember, accessor.DeclaringMember);
            }
        }
コード例 #15
0
        public void TestGetAllMembersReturnMethodsWithCorrectDeclaringMemberFor(string memberNameAndKind)
        {
            var type      = new AnalysisDataResolver().Resolve <TestClass>();
            var accessors = type.GetAllMembers(false)
                            .OfType <MethodData>()
                            .Where(m => m.Name.EndsWith(memberNameAndKind))
                            .ToArray();

            var declaringMember = type.Members.Single(m => m.Name == memberNameAndKind);

            foreach (var accessor in accessors)
            {
                Assert.AreEqual(declaringMember, accessor.DeclaringMember);
            }
        }
コード例 #16
0
        public void TestGetBaseAndImplementedMethods()
        {
            const string TestMethodName = "TestMethod";
            var          resolver       = new AnalysisDataResolver();

            var methods = Inheritance.GetBaseAndImplementedMethods(
                resolver.Resolve(typeof(TestInheritedClass).GetMethod(TestMethodName))
                );

            Assert.AreElementsEqualIgnoringOrder(
                methods.ToArray(), new[] {
                resolver.Resolve(typeof(TestInterface).GetMethod(TestMethodName)),
                resolver.Resolve(typeof(TestBaseClass).GetMethod(TestMethodName))
            }
                );
        }
コード例 #17
0
        public void TestGetBaseAndImplementedMethods()
        {
            const string TestMethodName = "TestMethod";
            var resolver = new AnalysisDataResolver();

            var methods = Inheritance.GetBaseAndImplementedMethods(
                resolver.Resolve(typeof(TestInheritedClass).GetMethod(TestMethodName))
            );

            Assert.AreElementsEqualIgnoringOrder(
                methods.ToArray(), new[] {
                    resolver.Resolve(typeof(TestInterface).GetMethod(TestMethodName)),
                    resolver.Resolve(typeof(TestBaseClass).GetMethod(TestMethodName))
                }
            );
        }
        public void Test(Type type, bool expectTrue)
        {
            var constructor = new AnalysisDataResolver().Resolve(type.GetConstructor(Type.EmptyTypes));
            var strategy    = new TestableEmptyDefaultConstructorsSelectionStrategy();

            bool result = strategy.ShouldSelect(constructor, null);

            if (expectTrue)
            {
                Assert.IsTrue(result);
            }
            else
            {
                Assert.IsFalse(result);
            }
        }
コード例 #19
0
 public GenericSupport(ISupportsGenerics host, AnalysisDataResolver resolver)
 {
     this.host = host;
     this.resolver = resolver;
 }
コード例 #20
0
 public GenericSupport(ISupportsGenerics host, AnalysisDataResolver resolver)
 {
     this.host     = host;
     this.resolver = resolver;
 }
コード例 #21
0
ファイル: EventDataTest.cs プロジェクト: ashmind/ashmind-code
        public void TestAccessorsIncludePrivateMembers() {
            var testClass = new AnalysisDataResolver().Resolve<TestClass>();
            var @event = testClass.GetEvents().Where(e => e.Name == "PrivateEvent").Single();

            Assert.AreEqual(2, @event.Accessors.Count);
        }
コード例 #22
0
 public AnalysisContext(AnalysisDataResolver resolver)
 {
     this.Resolver = resolver;
     this.SourceProvider = new SourceProvider();
     this.AssemblyLoader = new AssemblyLoader();
 }
コード例 #23
0
        public void TestName(Type type, string expectedName)
        {
            var typeData = new AnalysisDataResolver().Resolve(type);

            Assert.AreEqual(expectedName, typeData.Name);
        }
コード例 #24
0
ファイル: TypeDataTest.cs プロジェクト: ashmind/ashmind-code
        public void TestName(Type type, string expectedName) {
            var typeData = new AnalysisDataResolver().Resolve(type);

            Assert.AreEqual(expectedName, typeData.Name);
        }
コード例 #25
0
ファイル: Program.cs プロジェクト: ashmind/ashmind-code
        private IAssemblyData[] LoadAssemblies(IList<string> assemblyPaths)
        {
            var analyzer = new AnalysisDataResolver();

            return (
                from path in assemblyPaths
                let assembly = Assembly.LoadFrom(path)
                select analyzer.Resolve(assembly)
            ).ToArray();
        }