Пример #1
0
        /// <summary>
        /// Do a single test.
        /// </summary>
        /// <param name="testName">Test name is also the folder containing the test.</param>
        /// <param name="msg">Message to display if failure occurs.</param>
        protected void OneTest(string testName, string msg)
        {
            // Create input file name for test
            var inpFileName = Common.PathCombine(_inpPath, testName + ".css");

            var ctp = new CssTreeParser();
            ctp.Parse(inpFileName);
            var strResult = ctp.StringTree();

            // Output result to disk
            var outFileName = Common.PathCombine(_outPath, testName + ".txt");
            var sw = new StreamWriter(outFileName);
            sw.Write(strResult);
            sw.Close();

            // Compare result to expected result
            var expFileName = Common.PathCombine(_expPath, testName + ".txt");
            var sr = new StreamReader(expFileName);
            var strExpect = sr.ReadToEnd();
            sr.Close();
            Assert.AreEqual(strResult, strExpect, msg);

            if (ctp.Errors.Count != 0)
            {
                var strError = ctp.ErrorText();
                var outErrorName = Common.PathCombine(_outPath, testName + "Err.txt");
                var swe = new StreamWriter(outErrorName);
                swe.Write(strError);
                swe.Close();

                var expErrorName = Common.PathCombine(_expPath, testName + "Err.txt");
                var sre = new StreamReader(expErrorName);
                var strExpError = sre.ReadToEnd();
                sre.Close();
                var msgErr = msg + " in Error text";
                Assert.AreEqual(strError, strExpError, msgErr);
            }
            else
            {
                Assert.AreEqual(File.Exists(testName + "Err.txt"), false, msg + " error not generated");
            }
        }