示例#1
0
        IMember GetMember(ITestTreeView treeView)
        {
            IMember member = treeView.SelectedMember;

            if (member != null)
            {
                BaseTestMember baseTestMethod = member as BaseTestMember;
                if (baseTestMethod != null)
                {
                    return(baseTestMethod.Member);
                }
            }
            return(member);
        }
示例#2
0
        /// <summary>
        /// Gets the test members for the specified class.
        /// </summary>
        TestMemberCollection GetTestMembers(IClass c)
        {
            TestMemberCollection testMembers = new TestMemberCollection();

            foreach (var member in testFrameworks.GetTestMembersFor(c))
            {
                if (!testMembers.Contains(member.Name))
                {
                    testMembers.Add(member);
                }
            }

            // Add base class test members.
            IClass declaringType = c;

            while (c.BaseClass != null)
            {
                foreach (var testMember in testFrameworks.GetTestMembersFor(c.BaseClass))
                {
                    BaseTestMember baseTestMethod = new BaseTestMember(declaringType, testMember.Member);
                    TestMember     testMethod     = new TestMember(c.BaseClass, baseTestMethod);
                    if (testMember.Member.IsVirtual)
                    {
                        if (!testMembers.Contains(testMember.Name))
                        {
                            testMembers.Add(testMethod);
                        }
                    }
                    else
                    {
                        if (!testMembers.Contains(testMethod.Name))
                        {
                            testMembers.Add(testMethod);
                        }
                    }
                }
                c = c.BaseClass;
            }

            baseClassesFQNames.Clear();
            foreach (var memberDeclaringClass in testMembers.Select(member => member.DeclaringType).Distinct())
            {
                if (memberDeclaringClass.CompareTo(declaringType) != 0)
                {
                    baseClassesFQNames.Add(memberDeclaringClass.FullyQualifiedName);
                }
            }
            return(testMembers);
        }
		public void SetUpFixture()
		{
			mockClass = new MockClass("Tests.MyTestFixture");
			mockMethod = new MockMethod(mockClass, "MyMethod");
			
			mockMethodRegion = new DomRegion(0, 0, 0, 10);
			mockMethod.Region = mockMethodRegion;
			mockMethodBodyRegion = new DomRegion(1, 0, 2, 5);
			mockMethod.BodyRegion = mockMethodBodyRegion;
			mockMethod.Modifiers = ModifierEnum.Public;
		
			MockClass returnTypeClass = new MockClass("Tests.ReturnType");
			returnType = new DefaultReturnType(returnTypeClass);
			mockMethod.ReturnType = returnType;
			
			baseTestMethod = new BaseTestMember(mockClass, mockMethod);
		}
		public void Init()
		{
			baseClassMethod = MockMethod.CreateMockMethodWithoutAnyAttributes();
			baseClassMethod.DeclaringType.CompilationUnit.FileName = @"c:\projects\mytest.cs";
			
			MockClass derivedClass = MockClass.CreateMockClassWithoutAnyAttributes();
			derivedClass.CompilationUnit.FileName = @"d:\projects\myderivedtestclass.cs";
			
			int methodBeginLine = 3; // 1 based.
			int methodBeginColumn = 6; // 1 based.
			baseClassMethod.Region = new DomRegion(methodBeginLine, methodBeginColumn);
			
			BaseTestMember baseTestMethod = new BaseTestMember(derivedClass, baseClassMethod);
			
			treeView = new MockTestTreeView();
			treeView.SelectedMember = baseTestMethod;
			fileService = new MockFileService();
			gotoDefinitionCommand = new GotoDefinitionCommand(fileService);
			gotoDefinitionCommand.Owner = treeView;
			gotoDefinitionCommand.Run();
		}
示例#5
0
		/// <summary>
		/// Gets the test members for the specified class.
		/// </summary>
		TestMemberCollection GetTestMembers(IClass c)
		{
			TestMemberCollection testMembers = new TestMemberCollection();
			foreach (var member in testFrameworks.GetTestMembersFor(c))
				if (!testMembers.Contains(member.Name)) {
					testMembers.Add(member);
				}
			
			// Add base class test members.
			IClass declaringType = c;
			while (c.BaseClass != null)
			{
				foreach (var testMember in testFrameworks.GetTestMembersFor(c.BaseClass)) {
					BaseTestMember baseTestMethod = new BaseTestMember(declaringType, testMember.Member);
					TestMember testMethod = new TestMember(c.BaseClass, baseTestMethod);
					if (testMember.Member.IsVirtual) {
						if (!testMembers.Contains(testMember.Name)) {
							testMembers.Add(testMethod);
						}
					} else {
						if (!testMembers.Contains(testMethod.Name)) {
							testMembers.Add(testMethod);
						}
					}
				}
				c = c.BaseClass;
			}

			baseClassesFQNames.Clear();
			foreach (var memberDeclaringClass in testMembers.Select(member => member.DeclaringType).Distinct())
				if (memberDeclaringClass.CompareTo(declaringType) != 0)
					baseClassesFQNames.Add(memberDeclaringClass.FullyQualifiedName);
			return testMembers;
		}