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")); }
public void InsertTextFileTest() { CreateTestDirectoryAndFiles(); string insertNode = "test1"; string test_text = "<text-insert file=\"test3.result.xml\" start=\"<test>\"><" + 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(); }