public override void Run() { projects = new List <IProject>(); IMember m = TestableCondition.GetMember(Owner); IClass c = (m != null) ? m.DeclaringType : TestableCondition.GetClass(Owner); IProject project = TestableCondition.GetProject(Owner); string namespaceFilter = TestableCondition.GetNamespace(Owner); if (project != null) { projects.Add(project); } else if (UnitTestsPad.Instance != null) { projects.AddRange(UnitTestsPad.Instance.TestTreeView.GetProjects()); } if (projects.Count > 0) { runningTestCommand = this; try { BeforeRun(); if (IsRunningTest) { currentProject = projects[0]; Run(currentProject, namespaceFilter, c, m); } } catch { runningTestCommand = null; throw; } } }
static IClass GetClass(IMember member, Object owner) { if (member != null) { return(member.DeclaringType); } return(TestableCondition.GetClass(owner)); }