IMember GetMember(ITestTreeView treeView) { IMember member = treeView.SelectedMember; if (member != null) { BaseTestMember baseTestMethod = member as BaseTestMember; if (baseTestMethod != null) { return(baseTestMethod.Member); } } return(member); }
/// <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(); }
/// <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; }