public static IUnitTestElement ReadFromXml(XmlElement parent, IUnitTestElement parentElement, MSpecUnitTestProvider provider, ISolution solution #if RESHARPER_61 , IUnitTestElementManager manager, PsiModuleManager psiModuleManager, CacheManager cacheManager #endif ) { var projectId = parent.GetAttribute("projectId"); var project = ProjectUtil.FindProjectElementByPersistentID(solution, projectId) as IProject; if (project == null) { return(null); } var typeName = parent.GetAttribute("typeName"); var assemblyLocation = parent.GetAttribute("assemblyLocation"); var isIgnored = bool.Parse(parent.GetAttribute("isIgnored")); var subject = parent.GetAttribute("subject"); return(ContextFactory.GetOrCreateContextElement(provider, #if RESHARPER_61 manager, psiModuleManager, cacheManager, #endif project, ProjectModelElementEnvoy.Create(project), typeName, assemblyLocation, subject, EmptyArray <string> .Instance, isIgnored)); }
internal static IUnitTestElement ReadFromXml(XmlElement parent, IUnitTestElement parentElement, ISolution solution, UnitTestElementFactory unitTestElementFactory) { var testClass = parentElement as XunitTestClassElement; if (testClass == null) { throw new InvalidOperationException("parentElement should be xUnit.net test class"); } var typeName = parent.GetAttribute("typeName"); var methodName = parent.GetAttribute("methodName"); var projectId = parent.GetAttribute("projectId"); var skipReason = parent.GetAttribute("skipReason"); var isDynamic = parent.GetAttribute("dynamic", false); var project = (IProject)ProjectUtil.FindProjectElementByPersistentID(solution, projectId); if (project == null) { return(null); } // TODO: Save and load traits. Not sure it's really necessary, they get updated when the file is scanned return(unitTestElementFactory.GetOrCreateTestMethod(project, testClass, new ClrTypeName(typeName), methodName, skipReason, new MultiValueDictionary <string, string>(), isDynamic)); }
protected static ElementProperties ReadFromXml(XmlElement parent, ISolution solution, string nameAttribute) { int rangeStart; int rangeEnd; var fileName = parent.GetAttribute(FileNameAttribute); var name = parent.GetAttribute(nameAttribute); var id = parent.GetAttribute(ProjectAttribute); var textRange = (!int.TryParse(parent.GetAttribute(TextRangeStartAttribute), out rangeStart) || !int.TryParse(parent.GetAttribute(TextRangeEndAttribute), out rangeEnd)) ? TextRange.InvalidRange : new TextRange(rangeStart, rangeEnd); var projectFolder = (IProject)ProjectUtil.FindProjectElementByPersistentID(solution, id); var referencedFiles = (from element in parent.ChildNodes.OfType <XmlElement>() where Equals(element.Name, ReferencedFileTag) select element.GetAttribute(ReferencedFilePathAttribute)).ToList(); var file = projectFolder.GetAllProjectFiles(f => Equals(f.Location.FullPath, fileName)).FirstOrDefault(); if (file == null) { return(null); } return(new ElementProperties { Name = name, FileName = fileName, ProjectFolder = projectFolder, ProjectFileEnvoy = ProjectModelElementEnvoy.Create(file), TextRange = textRange, ReferencedFiles = referencedFiles }); }
public static IUnitTestElement ReadFromXml(XmlElement parent, IUnitTestElement parentElement, ISolution solution, BehaviorSpecificationFactory factory) { var projectId = parent.GetAttribute("projectId"); var project = ProjectUtil.FindProjectElementByPersistentID(solution, projectId) as IProject; if (project == null) { return(null); } var behavior = parentElement as BehaviorElement; if (behavior == null) { return(null); } var typeName = parent.GetAttribute("typeName"); var methodName = parent.GetAttribute("methodName"); var isIgnored = bool.Parse(parent.GetAttribute("isIgnored")); return(factory.GetOrCreateBehaviorSpecification(behavior, new ClrTypeName(typeName), methodName, isIgnored)); }
public static IUnitTestElement ReadFromXml(XmlElement parent, IUnitTestElement parentElement, MSpecUnitTestProvider provider, ISolution solution #if RESHARPER_61 , IUnitTestElementManager manager, PsiModuleManager psiModuleManager, CacheManager cacheManager #endif ) { var projectId = parent.GetAttribute("projectId"); var project = ProjectUtil.FindProjectElementByPersistentID(solution, projectId) as IProject; if (project == null) { return(null); } var behavior = parentElement as BehaviorElement; if (behavior == null) { return(null); } var typeName = parent.GetAttribute("typeName"); var methodName = parent.GetAttribute("methodName"); var isIgnored = bool.Parse(parent.GetAttribute("isIgnored")); return(BehaviorSpecificationFactory.GetOrCreateBehaviorSpecification(provider, #if RESHARPER_61 manager, psiModuleManager, cacheManager, #endif project, behavior, ProjectModelElementEnvoy.Create(project), typeName, methodName, isIgnored)); }
public IUnitTestElement DeserializeElement(XmlElement xmlElement, [CanBeNull] IUnitTestElement parentElement) { var elementTypeFullName = xmlElement.GetAttribute(c_elementType); var absoluteId = xmlElement.GetAttribute(c_absoluteId); var projectId = xmlElement.GetAttribute(c_projectId); var text = xmlElement.GetAttribute(c_text); var identity = Identity.Parse(absoluteId); var project = ProjectUtil.FindProjectElementByPersistentID(_solution, projectId).GetProject(); var entity = new TestEntitySurrogate(identity, project, text); return(_testElementFactory.GetOrCreateTestElement(elementTypeFullName, entity, parentElement)); }
public IUnitTestElement DeserializeElement(XmlElement xmlElement, [CanBeNull] IUnitTestElement parentElement) { var elementTypeFullName = xmlElement.GetAttribute(c_elementType); var absoluteId = xmlElement.GetAttribute(c_absoluteId); var projectId = xmlElement.GetAttribute(c_projectId); var text = xmlElement.GetAttribute(c_text); var categories = xmlElement.GetAttribute(c_categories).Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries); var identity = Identity.Parse(absoluteId); var project = ProjectUtil.FindProjectElementByPersistentID(_solution, projectId).GetProject().NotNull(); var entity = new TestEntitySurrogate(identity, project, categories, text); return(_testElementFactory.GetOrCreateTestElement(elementTypeFullName, entity, parentElement)); }
internal static IUnitTestElement ReadFromXml(XmlElement parent, IUnitTestElement parentElement, ISolution solution, UnitTestElementFactory unitTestElementFactory) { var projectId = parent.GetAttribute(AttributeNames.ProjectId); var typeName = parent.GetAttribute(AttributeNames.TypeName); var project = (IProject)ProjectUtil.FindProjectElementByPersistentID(solution, projectId); if (project == null) { return(null); } var assemblyLocation = project.GetOutputFilePath().FullPath; return(unitTestElementFactory.GetOrCreateTestClass(project, new ClrTypeName(typeName), assemblyLocation)); }
internal static IUnitTestElement ReadFromXml(XmlElement parent, IUnitTestElement parentElement, ISolution solution, UnitTestElementFactory unitTestElementFactory) { var projectId = parent.GetAttribute("projectId"); var typeName = parent.GetAttribute("typeName"); var project = (IProject)ProjectUtil.FindProjectElementByPersistentID(solution, projectId); if (project == null) { return(null); } var assemblyLocation = project.GetOutputFilePath().FullPath; // TODO: Save and load traits. Might not be necessary - they are reset when scanning the file return(unitTestElementFactory.GetOrCreateTestClass(project, new ClrTypeName(typeName), assemblyLocation, new MultiValueDictionary <string, string>())); }
public static IUnitTestElement ReadFromXml(XmlElement parent, IUnitTestElement parentElement, MSpecUnitTestProvider provider, ISolution solution, IUnitTestElementManager manager, PsiModuleManager psiModuleManager, CacheManager cacheManager ) { var projectId = parent.GetAttribute("projectId"); var project = ProjectUtil.FindProjectElementByPersistentID(solution, projectId) as IProject; if (project == null) { return(null); } var context = parentElement as ContextElement; if (context == null) { return(null); } var typeName = parent.GetAttribute("typeName"); var methodName = parent.GetAttribute("methodName"); var isIgnored = bool.Parse(parent.GetAttribute("isIgnored")); var fieldType = parent.GetAttribute("fieldType"); return(BehaviorFactory.GetOrCreateBehavior(provider, manager, psiModuleManager, cacheManager, project, ProjectModelElementEnvoy.Create(project), context, new ClrTypeName(typeName), methodName, isIgnored, fieldType)); }
public static IUnitTestElement ReadFromXml(XmlElement parent, ISolution solution, ContextFactory factory) { var projectId = parent.GetAttribute("projectId"); var project = ProjectUtil.FindProjectElementByPersistentID(solution, projectId) as IProject; if (project == null) { return(null); } var typeName = parent.GetAttribute("typeName"); var assemblyLocation = parent.GetAttribute("assemblyLocation"); var isIgnored = bool.Parse(parent.GetAttribute("isIgnored")); var subject = parent.GetAttribute("subject"); return(factory.GetOrCreateContext(assemblyLocation, project, new ClrTypeName(typeName), subject, EmptyArray <string> .Instance, isIgnored)); }
internal static IUnitTestElement ReadFromXml(XmlElement parent, IUnitTestElement parentElement, ISolution solution, UnitTestElementFactory unitTestElementFactory) { var testClass = parentElement as TestClassElement; if (testClass == null) { throw new InvalidOperationException("parentElement should be Fixie test class"); } var typeName = parent.GetAttribute(AttributeNames.TypeName); var methodName = parent.GetAttribute(AttributeNames.MethodName); var projectId = parent.GetAttribute(AttributeNames.ProjectId); var isParameterized = bool.Parse(parent.GetAttribute(AttributeNames.IsParameterized)); var project = (IProject)ProjectUtil.FindProjectElementByPersistentID(solution, projectId); if (project == null) { return(null); } return(unitTestElementFactory.GetOrCreateTestMethod(project, testClass, typeName, methodName, isParameterized)); }