//
        //You can use the following additional attributes as you write your tests:
        //
        //Use ClassInitialize to run code before running the first test in the class
        //[ClassInitialize()]
        //public static void MyClassInitialize(TestContext testContext)
        //{
        //}
        //
        //Use ClassCleanup to run code after all tests in a class have run
        //[ClassCleanup()]
        //public static void MyClassCleanup()
        //{
        //}
        //
        //Use TestInitialize to run code before running each test
        //[TestInitialize()]
        //public void MyTestInitialize()
        //{
        //}
        //
        //Use TestCleanup to run code after each test has run
        //[TestCleanup()]
        //public void MyTestCleanup()
        //{
        //}
        //
        #endregion

        private CCodePreProcessingOptions BaseTest()
        {
            CCodePreProcessingOptions target = new CCodePreProcessingOptions(comments);

            Assert.IsNotNull(target);
            return(target);
        }
        public void PairCommentDictionaryTest()
        {
            CCodePreProcessingOptions   target = BaseTest();
            Dictionary <string, string> actual = target.PairCommentDictionary;

            TestPairCommentDictionary(actual);
        }
        public void SetDeleteEmptyLinesTest()
        {
            CCodePreProcessingOptions target = BaseTest();
            bool value = false;

            target.SetDeleteEmptyLines(value);
            Assert.AreEqual(value, target.DeleteEmptyLines);
        }
        public void CommentSymbolsTest()
        {
            CCodePreProcessingOptions target   = BaseTest();
            СCommentSymbols           expected = new СCommentSymbols(comments);
            СCommentSymbols           actual   = target.CommentSymbols;

            Assert.AreEqual(actual, expected);
        }
        public void SetPreProcessingOptionsTest()
        {
            CLoadFilesOptions         target = CommotTest();
            CCodePreProcessingOptions value  = new CCodePreProcessingOptions();

            target.SetPreProcessingOptions(value);
            Assert.AreEqual(value, target.PreProcessingOptions);
        }
        public void CLoadFilesOptionsConstructorTest2()
        {
            CCodePreProcessingOptions Options = new CCodePreProcessingOptions();
            CLoadFilesOptions         target  = new CLoadFilesOptions(directory, file_extensions, files_encoding, Options);

            BaseTestEx(target);
            Assert.AreEqual(target.PreProcessingOptions, Options);
        }
        public void SetCommentSymbolsTest()
        {
            CCodePreProcessingOptions target = new CCodePreProcessingOptions();

            target.SetCommentSymbols(comments);
            Dictionary <string, string> actual = target.PairCommentDictionary;

            TestPairCommentDictionary(actual);
        }
        public void PreProcessingTest1()
        {
            CSimpleCodePreProcessingAlgorithm target = new CSimpleCodePreProcessingAlgorithm();
            CCodePreProcessingOptions         PreProcessingOptions = new CCodePreProcessingOptions("//;/* */;///");

            PreProcessingOptions.SetDeleteWhiteSpaces(false);

            CCodeUnitsCollection OriginalCodeUnitsCollection = CreateTestCollection1();

            Assert.AreEqual(OriginalCodeUnitsCollection.Size(), 21);

            CCodeUnitsCollection expected = CreateExpectedCollection1();

            Assert.AreEqual(expected.Size(), 11);

            CCodeUnitsCollection actual = target.PreProcessing(PreProcessingOptions, OriginalCodeUnitsCollection);

            Assert.AreEqual(actual.Size(), expected.Size());

            for (int counter = 0; counter < actual.Size(); ++counter)
            {
                Assert.AreEqual(actual[counter].Text, expected[counter].Text);
            }
        }
        public void DeleteWhiteSpacesTest()
        {
            CCodePreProcessingOptions target = BaseTest();

            Assert.IsTrue(target.DeleteWhiteSpaces);
        }
        public void DeleteCommentsTest()
        {
            CCodePreProcessingOptions target = BaseTest();

            Assert.IsTrue(target.DeleteComments);
        }