private void PresentClassElement(XunitTestClassElement value, IPresentableItem item, TreeModelNode modelNode, PresentationState state) { if (IsNodeParentNatural(modelNode, value)) item.RichText = value.TypeName.ShortName; else if (string.IsNullOrEmpty(value.TypeName.GetNamespaceName())) item.RichText = value.TypeName.ShortName; else item.RichText = string.Format("{0}.{1}", value.TypeName.GetNamespaceName(), value.TypeName.ShortName); }
private void ProcessTestClass(IClrTypeName typeName, IEnumerable<IMethodInfo> methods, XunitTestClassElement parent) { XunitTestClassElement classElement = factory.GetOrCreateClassElement(typeName, project, envoy, parent); consumer(classElement); foreach (IMethodInfo method in methods) { ProcessTestMethod(classElement, method); } }
public static XunitTestMethodElement CreateTestMethod(IUnitTestProvider provider, IProject project, DeclaredElementProvider declaredElementProvider, XunitTestClassElement classElement, IClrTypeName typeName, string methodName, string skipReason, IEnumerable<UnitTestElementCategory> categories, bool isDynamic = false) { var id = GetTestMethodId(classElement, typeName, methodName); return new XunitTestMethodElement(provider, classElement, new ProjectModelElementEnvoy(project), declaredElementProvider, id, typeName.GetPersistent(), methodName, skipReason, categories, isDynamic); }
public XunitTestMethodElement GetOrCreateTestMethod(IProject project, XunitTestClassElement testClassElement, IClrTypeName typeName, string methodName, string skipReason, MultiValueDictionary<string, string> traits, bool isDynamic) { var categories = GetCategories(traits); var element = GetTestMethod(project, testClassElement, typeName, methodName); if (element != null) { element.State = UnitTestElementState.Valid; element.SetCategories(categories); return element; } return CreateTestMethod(provider, project, declaredElementProvider, testClassElement, typeName, methodName, skipReason, categories, isDynamic); }
private void ProcessTestMethod(XunitTestClassElement classUnitTestElement, IMethodInfo method) { XunitTestMethodElement methodUnitTestElement = factory.GetOrCreateMethodElement(new ClrTypeName(method.TypeName), method.Name, project, classUnitTestElement, envoy, MethodUtility.GetSkipReason(method)); consumer(methodUnitTestElement); }
private static string GetTestMethodId(XunitTestClassElement classElement, IClrTypeName typeName, string methodName) { var baseTypeName = string.Empty; if (!classElement.TypeName.Equals(typeName)) baseTypeName = typeName.ShortName + "."; return string.Format("{0}.{1}{2}", classElement.Id, baseTypeName, methodName); }
public static XunitTestMethodElement GetTestMethod(IProject project, XunitTestClassElement classElement, IClrTypeName typeName, string methodName) { var id = GetTestMethodId(classElement, typeName, methodName); var unitTestElementManager = project.GetSolution().GetComponent<IUnitTestElementManager>(); return unitTestElementManager.GetElementById(project, id) as XunitTestMethodElement; }
private void ExploreTestMethod(IProject project, XunitTestClassElement classUnitTestElement, IUnitTestElementsObserver observer, IMethodInfo methodInfo) { var methodUnitTestElement = unitTestElementFactory.GetOrCreateTestMethod(project, classUnitTestElement, new ClrTypeName(methodInfo.TypeName), methodInfo.Name, MethodUtility.GetSkipReason(methodInfo), methodInfo.GetTraits(), false); observer.OnUnitTestElement(methodUnitTestElement); }
public XunitTestMethodElement GetOrCreateMethodElement(string id, IProject project, XunitTestClassElement parent, ProjectModelElementEnvoy envoy) { IUnitTestElement element = UnitTestManager.GetInstance(Solution).GetElementById(project, id); if (element != null) { var xunitTestMethodElement = element as XunitTestMethodElement; if (xunitTestMethodElement != null) { xunitTestMethodElement.State = UnitTestElementState.Valid; } return xunitTestMethodElement; } string[] splitted = id.Split('.'); string declaringTypeName = splitted.Take(splitted.Length - 1).Join("."); string name = splitted.Last(); return new XunitTestMethodElement(this, parent, envoy, declaringTypeName, name); }
private XunitTestMethodElement GetOrCreateMethodElement(XunitTestClassElement classElement, IClass @class, IMethod method) { var projectElement = classElement.GetProject(); var projectEnvoy = Equals(projectElement, project) ? envoy : ProjectModelElementEnvoy.Create(projectElement); return factory.GetOrCreateMethodElement(@class.GetClrName(), method.ShortName, projectElement, classElement, projectEnvoy, UnitTestElementPsiIdentifier.GetSkipReason(method)); }
private void ProcessSuperType(XunitTestClassElement classElement, IDeclaredType type) { var @class = type.GetTypeElement() as IClass; if (@class == null) return; foreach (IMethod method in @class.GetMembers().Where(UnitTestElementPsiIdentifier.IsUnitTest)) GetOrCreateMethodElement(classElement, @class, method); }