Ejemplo n.º 1
0
        /// <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);
            }
        }
Ejemplo n.º 2
0
        /// <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);
            }
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        /// <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");
        }
    }
Ejemplo n.º 6
0
        /// <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);
        }