/// <summary>
        /// Get the list of properties that will be hidden in the configure page.
        /// </summary>
        /// <param name="rules">Selected rules.</param>
        /// <returns>The list of properties which will not be shown in the configure page.</returns>
        public List <string> GetHiddenProperties(List <CaseSelectRule> rules)
        {
            List <string> hiddenPropertiesList = new List <string>();

            // Hidden the following properties in RDP_ServerTestSuite.ptfconfig:
            // 1. TestName
            // 2. ProtocolName
            // 3. Version
            hiddenPropertiesList.AddRange(DetectorUtil.GetPropertiesByFile("RDP_ServerTestSuite.ptfconfig"));
            return(hiddenPropertiesList);
        }
        public static List <string> GetHiddenProperties(List <CaseSelectRule> rules)
        {
            List <string> properties = new List <string>();

            foreach (var p in DetectorUtil.GetPropertiesByFile("AD_ServerTestSuite.deployment.ptfconfig"))
            {
                // Machines
                if (!rules.IsSelected("Machine.SDC") && p.IndexOf("Common.WritableDC2") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
                if (!rules.IsSelected("Machine.RODC") && p.IndexOf("Common.RODC") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
                if (!rules.IsSelected("Machine.CDC") &&
                    (p.IndexOf("Common.CDC") >= 0 || p.IndexOf("Common.ChildDomain") >= 0))
                {
                    properties.Add(p);
                    continue;
                }
                if (!rules.IsSelected("Machine.TDC") &&
                    (p.IndexOf("Common.TDC") >= 0 || p.IndexOf("Common.TrustDomain") >= 0))
                {
                    properties.Add(p);
                    continue;
                }
                if (!rules.IsSelected("Machine.DM") && p.IndexOf("Common.DM") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
                if (!rules.IsSelected("Protocol.MS-ADTS-LDAP") && p.IndexOf("MS_ADTS_LDAP") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
                if (!rules.IsSelected("Protocol.MS-ADTS-PublichDC") && p.IndexOf("MS_ADTS_PublishDC") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
                if (!rules.IsSelected("Protocol.MS-ADTS-Schema") && p.IndexOf("MS_ADTS_Schema") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
                if (!rules.IsSelected("Protocol.MS-ADTS-Security") && p.IndexOf("MS_ADTS_SECURITY") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
                if (!rules.IsSelected("Protocol.MS-APDS") && p.IndexOf("MS_APDS") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
                if (!rules.IsSelected("Protocol.MS-DRSR") && p.IndexOf("MS_DRSR") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
                if (!rules.IsSelected("Protocol.MS-FRS2") && p.IndexOf("MS_FRS2") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
                if (!rules.IsSelected("Protocol.MS-LSAD") && p.IndexOf("MS_LSAD") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
                if (!rules.IsSelected("Protocol.MS-LSAT") && p.IndexOf("MS_LSAT") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
                if (!rules.IsSelected("Protocol.MS-NRPC") && p.IndexOf("MS_NRPC") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
                if (!rules.IsSelected("Protocol.MS-SAMR") && p.IndexOf("MS_SAMR") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
                if (p.IndexOf("MS_DRSR.TDI") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
                if (p.IndexOf("MS_ADTS_LDAP.IsTDI") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
                if (p.IndexOf("MS_NRPC.SHOULDMAY") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
                if (p.IndexOf("MS_ADTS_Schema.TDI") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
                if (p.IndexOf("MS_FRS2.ReqImplemented") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
                if (p.IndexOf("MS_FRS2.MAYRequirements") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
                if (p.IndexOf("MS_FRS2.TestSuiteIssueFixed") >= 0)
                {
                    properties.Add(p);
                    continue;
                }
            }
            return(properties);
        }