public void InsertTextFileTest()
        {
            CreateTestDirectoryAndFiles();

            string insertNode = "test1";
            string test_text = "<text-insert file=\"test3.result.xml\" start=\"&lt;test&gt;\"><" + insertNode + "/></text-insert>";

            string xmlContent = "<test><t2>bbb</t2></test>";

            ModifyTextFileRule modifyTextFileRule = new ModifyTextFileRule();
            IFileManager fileManager = new LocalFileManager(TestDiretoryPath);

            using (FileStream fs = File.Create(TestFilePath))
            {
                AddText(fs, test_text);
                fs.Flush();
                fs.Close();
            }
            using (FileStream fs = File.Create(TestXmlFilePath))
            {
                AddText(fs, xmlContent);
                fs.Flush();
                fs.Close();
            }

            XPathDocument ruleXPathDoc = new XPathDocument(new StringReader(test_text) );
            XPathNavigator ruleFileNav = ruleXPathDoc.CreateNavigator().SelectSingleNode("/*");
            Console.WriteLine(ruleFileNav.LocalName);

            bool isMatched = modifyTextFileRule.IsMatch(ruleFileNav);
            Assert.AreEqual(true, isMatched);

            FileRuleContext fileRuleContext = new FileRuleContext(TestFilePath, fileManager, ruleFileNav);

            modifyTextFileRule.Execute(fileRuleContext);
            Assert.AreEqual(true, File.ReadAllText(TestXmlFilePath).Contains(insertNode));

            Assert.AreEqual(true, IsNodeInXmlFile(TestXmlFilePath, insertNode));
            DeleteTestDirectoryAndFiles();
        }
        public void RemoveItemFromFileTest()
        {
            CreateTestDirectoryAndFiles();
            string test_text = "<text-remove file=\"test3.result.xml\" regex=\"bbb\"></text-remove>";

            string xmlContent = "<test><t2>bbb</t2></test>";

            ModifyTextFileRule modifyTextFileRule = new ModifyTextFileRule();
            IFileManager fileManager = new LocalFileManager(TestDiretoryPath);

            using (FileStream fs = File.Create(TestFilePath))
            {
                AddText(fs, test_text);
                fs.Flush();
                fs.Close();
            }
            using (FileStream fs = File.Create(TestXmlFilePath))
            {
                AddText(fs, xmlContent);
                fs.Flush();
                fs.Close();
            }
            XPathDocument ruleXPathDoc = new XPathDocument(new StringReader(test_text));
            XPathNavigator ruleFileNav = ruleXPathDoc.CreateNavigator().SelectSingleNode("/*");

            FileRuleContext fileRuleContext = new FileRuleContext(TestFilePath, fileManager,ruleFileNav);

            modifyTextFileRule.Execute(fileRuleContext);

            Assert.AreEqual(false, File.ReadAllText(TestXmlFilePath).Contains("bbb"));
        }