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('|');

              var identity = Identity.Parse(absoluteId);
              var project = ProjectUtil.FindProjectElementByPersistentID(_solution, projectId).GetProject();
              var entity = new TestEntitySurrogate(identity, project, categories, text);

              return _testElementFactory.GetOrCreateTestElement(elementTypeFullName, entity, parentElement);
        }
Esempio n. 2
0
        public IUnitTestElement GetDynamicElement(RemoteTask remoteTask, Func<string, ITestElement> elementProvider)
        {
            var dynamicTask = (DynamicTask) remoteTask;
              var parentElement = elementProvider(dynamicTask.ParentGuid);
              Trace.Assert(parentElement != null, "parentElement != null");

              var elementTypeFullName = typeof(ChildTestElement).FullName;
              var project = parentElement.GetProject().AssertNotNull();
              var entity = new TestEntitySurrogate(dynamicTask.Identity, project, new string[0], dynamicTask.Text);

              var elementFactory = project.GetComponent<ITestElementFactory>();
              var element = elementFactory.GetOrCreateTestElement(elementTypeFullName, entity, parentElement);

              // TODO: parameter for elementFactory instead?
              element.State = UnitTestElementState.Dynamic;

              return element;
        }