Example #1
0
        /// <summary>
        /// Builds tests tree from a list of tests.
        /// </summary>
        /// <param name="tests">List of tests (test information contains information about test group
        /// also)</param>
        public void DisplayTests(List <TestInfo> tests)
        {
            _groupNumbers = new Dictionary <string, string>();

            try
            {
                foreach (TestInfo testInfo in tests.OrderBy(ti => ti.Order))
                {
                    // Find group node to add this test to.
                    TreeNode groupNode = FindGroupNode(testInfo.Group);

                    string groupNumber = _groupNumbers[testInfo.Group];
                    string testNumber  = groupNumber + "." + (groupNode.Nodes.Count + 1).ToString();

                    // Add node
                    testInfo.Name = string.Format("{0} {1}", testNumber, testInfo.Name);
                    TreeNode node = groupNode.Nodes.Add(testInfo.Name);

                    // check if all features required are supported
                    bool supported =
                        testInfo.RequiredFeatures.Where(
                            f => FeaturesHelper.FeatureRealization(f) == FeaturesHelper.FeatureRealizationType.Supported)
                        .Count() > 0;

                    // check if all features required are implemented.
                    bool implemented =
                        testInfo.RequiredFeatures.Where(
                            f => FeaturesHelper.FeatureRealization(f) == FeaturesHelper.FeatureRealizationType.Implemented)
                        .Count() > 0;

                    // select image (depends on requirement level)
                    node.ImageKey         = FindImageKey(testInfo.RequirementLevel, supported, implemented);
                    node.SelectedImageKey = node.ImageKey;

                    // create tooltip
                    node.ToolTipText = CreateTestTooltip(testInfo, null);
                    node.Tag         = testInfo;
                    // add test node to dictionary
                    _testNodes.Add(testInfo, node);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }