/// <summary>
        ///  Loads the configuration from a file on disk.
        /// </summary>
        public static ServerTestConfiguration Load(string filePath, ServerTestConfiguration masterConfiguration)
        {
		    XmlTextReader reader = new XmlTextReader(filePath);

            try
            {
                DataContractSerializer serializer = new DataContractSerializer(typeof(ServerTestConfiguration));
                ServerTestConfiguration configuration = serializer.ReadObject(reader) as ServerTestConfiguration;
                configuration.m_filePath = filePath;

                if (configuration.Iterations <= 0)
                {
                    configuration.Iterations = 1;
                }

                if (masterConfiguration != null)
                {
                    ListOfServerTestCase replacements = new ListOfServerTestCase();

                    for (int ii = 0; ii < masterConfiguration.TestCases.Count; ii++)
                    {
                        ServerTestCase template = masterConfiguration.TestCases[ii];
                        
                        // create replacement that is disabled by default.
                        ServerTestCase replacement = new ServerTestCase();

                        replacement.Name = template.Name;
                        replacement.Parent = template.Parent;
                        replacement.Enabled = false;
                        replacement.Breakpoint = false;

                        replacements.Add(replacement);

                        // load settings from saved test case.
                        for (int jj = 0; jj < configuration.TestCases.Count; jj++)
                        {
                            ServerTestCase actual = configuration.TestCases[jj];

                            if (actual.Name == template.Name && actual.Parent == template.Parent)
                            {
                                replacement.Enabled = actual.Enabled;
                                replacement.Breakpoint = actual.Breakpoint;
                                break;
                            }
                        }
                    }

                    // replace the test cases.
                    configuration.TestCases = replacements;
                }

                return configuration;
            }
            finally
            {
                reader.Close();
            }
        }
示例#2
0
        /// <summary>
        ///  Loads the configuration from a file on disk.
        /// </summary>
        public static ServerTestConfiguration Load(string filePath, ServerTestConfiguration masterConfiguration)
        {
            XmlTextReader reader = new XmlTextReader(filePath);

            try
            {
                DataContractSerializer  serializer    = new DataContractSerializer(typeof(ServerTestConfiguration));
                ServerTestConfiguration configuration = serializer.ReadObject(reader) as ServerTestConfiguration;
                configuration.m_filePath = filePath;

                if (configuration.Iterations <= 0)
                {
                    configuration.Iterations = 1;
                }

                if (masterConfiguration != null)
                {
                    ListOfServerTestCase replacements = new ListOfServerTestCase();

                    for (int ii = 0; ii < masterConfiguration.TestCases.Count; ii++)
                    {
                        ServerTestCase template = masterConfiguration.TestCases[ii];

                        // create replacement that is disabled by default.
                        ServerTestCase replacement = new ServerTestCase();

                        replacement.Name       = template.Name;
                        replacement.Parent     = template.Parent;
                        replacement.Enabled    = false;
                        replacement.Breakpoint = false;

                        replacements.Add(replacement);

                        // load settings from saved test case.
                        for (int jj = 0; jj < configuration.TestCases.Count; jj++)
                        {
                            ServerTestCase actual = configuration.TestCases[jj];

                            if (actual.Name == template.Name && actual.Parent == template.Parent)
                            {
                                replacement.Enabled    = actual.Enabled;
                                replacement.Breakpoint = actual.Breakpoint;
                                break;
                            }
                        }
                    }

                    // replace the test cases.
                    configuration.TestCases = replacements;
                }

                return(configuration);
            }
            finally
            {
                reader.Close();
            }
        }