/// <summary> /// The add test case element. /// </summary> /// <param name="assemblyObjectList"> /// The assembly object list. /// </param> /// <param name="methodInfo"> /// The method info. /// </param> /// <param name="methodDocumentation"> /// The method documentation. /// </param> private void AddTestCaseElement(TestObjectCollection assemblyObjectList, EhMethodInfo methodInfo, MethodTags methodDocumentation) { Log.Enter(this, string.Format("AddTestCaseElement: {0}", methodInfo.MethodName)); var parent = assemblyObjectList.FirstOrDefault(n => n.Name == methodInfo.MethodName); if (parent == null) { var testCase = new TestCase(); testCase.Name = methodInfo.MethodDisplayName; var lastNamespaceSegment = GetLastNamespaceSegment(methodInfo.Namespace); testCase.DisplayName = string.Format("{0}.{1}.{2}", lastNamespaceSegment, methodInfo.ClassName, methodInfo.MethodName); testCase.Description = methodDocumentation.GetDocumentationText(); testCase.AssemblyMethodRefId = methodInfo.CustomAttributGuid; testCase.AssemblyName = Path.GetFileName(methodInfo.AssemblyFullPath); testCase.Parameters = this.GetTestParameterCollection(methodDocumentation); assemblyObjectList.Add(testCase); } }
/// <summary> /// Merges the test suite collection. /// </summary> /// <param name="tree"> /// The tree. /// </param> /// <param name="assemblyObject"> /// The assembly object. /// </param> private static void MergeTestSuiteCollection(TestObjectCollection tree, TestSuite assemblyObject) { var vorhanden = false; foreach (var name in tree) { if (name.Name == assemblyObject.Name) { foreach (var ob in assemblyObject.TestObjects) { if (name is TestCollection) { MergeTestObjectCollection((name as TestCollection).TestObjects, ob); } } vorhanden = true; } } if (!vorhanden) { tree.Add(assemblyObject); } }
/// <summary> /// The add folder element. /// </summary> /// <param name="testObjectCollection"> /// The assembly object list. /// </param> /// <param name="name"> /// The name. /// </param> /// <returns> /// The <see cref="TestFolder"/>. /// </returns> private TestFolder AddFolderElement(TestObjectCollection testObjectCollection, string name) { Log.Enter(this, string.Format("AddFolderElement: {0}", name)); var parent = testObjectCollection.FirstOrDefault(n => n.Name == name); if (parent == null) { var testFolder = new TestFolder { Name = name }; testObjectCollection.Add(testFolder); return(testFolder); } return(parent as TestFolder); }
/// <summary> /// Merges the test case collection. /// </summary> /// <param name="tree"> /// The tree. /// </param> /// <param name="assemblyObject"> /// The assembly object. /// </param> private static void MergeTestCaseCollection(TestObjectCollection tree, TestCase assemblyObject) { var vorhanden = false; foreach (var name in tree) { if (name.Name == assemblyObject.Name) { vorhanden = true; break; } } if (!vorhanden) { tree.Add(assemblyObject); } }
public static void Main() { // your code goes here TestObject test1 = new TestObject(); TestObject test2 = new TestObject(); var collection = new TestObjectCollection(); collection.Add(test2); test1.testObjects = collection; if (test2.parentCollection.parent == test1) { Console.WriteLine("Done"); } else { Console.WriteLine("Fail"); } }
/// <summary> /// The get test object collection. /// </summary> /// <param name="rootTestObject"> /// The root Test Object. /// </param> /// <param name="subNamespace"> /// The root folder. /// </param> /// <param name="testObjects"> /// The test objects. /// </param> /// <returns> /// The <see cref="TestObjectCollection"/>. /// </returns> private IEnumerable <TestObject> AddNamespaceToTestObjectCollection(TestCollection rootTestObject, string subNamespace, IEnumerable <TestObject> testObjects) { Log.Enter(this, "GetTestObjectCollection"); var ns = new TestObjectCollection(); ns.Add(rootTestObject); var rootFolder = subNamespace.Split('.'); foreach (var testObject in testObjects) { var tempFolder = this.AddFolderElement(rootTestObject.TestObjects, rootFolder[0]); for (var i = 1; i < rootFolder.Count(); i++) { tempFolder = this.AddFolderElement(tempFolder.TestObjects, rootFolder[i]); } testObject.Parent = tempFolder; tempFolder.TestObjects.Add(testObject); } return(ns); }