Пример #1
0
        private void okButton_Click(object sender, EventArgs e)
        {
            if(searchTextBox.Text.Length==0)
            {
                return;
            }
            if(processDirectoriesTextBox.Text.Length==0)
            {
                return;
            }
            var directories = processDirectoriesTextBox.Text.Trim().Split(new char[] { ';' });
            var fileExtensions = fileExtensionTextBox.Text.Trim().Split(new char[] {';'});

            IWordReplacer wordReplacer = null;
            if (whenThisTextIsFoundCheckBox.Checked && textThatMustBeFoundTextBox.Text.Length>0)
            {
                wordReplacer = new ConditionalWordReplacer(searchTextBox.Text.Trim(), replaceTextBox.Text.Trim(),
                                            textThatMustBeFoundTextBox.Text);
            }
            else
            {
                wordReplacer = new WordReplacer(searchTextBox.Text.Trim(), replaceTextBox.Text.Trim());
            }

            foreach (var directory in directories)
            {
                var recursiveFileWordReplacer = new RecursiveFileWordReplacer(directory, wordReplacer, fileExtensions);
                recursiveFileWordReplacer.ReplaceAll();
            }
            MessageBox.Show("All done");
        }
Пример #2
0
 public ConditionalWordReplacer(string word, string wordReplacement, string conditionalTextThatMustBeFound)
 {
     if(string.IsNullOrEmpty(conditionalTextThatMustBeFound))
     {
         throw new InvalidOperationException("string.IsNullOrEmpty(conditionalTextThatMustBeFound)");
     }
     _wordReplacer = new WordReplacer(word, wordReplacement);
     _conditionalRegex = new Regex(conditionalTextThatMustBeFound, RegexOptions.Multiline);
 }
Пример #3
0
        public void WhenSeachNotFoundShouldReturnNull()
        {
            var text = "gryf";
            var search = "gryffe";
            var wordReplacement = "";
            var e = new WordReplacer(search, wordReplacement);
            e.Replace(text);
            Assert.IsFalse(e.Success());

            var result = e.ReplacedText;
            Assert.AreEqual(null, result);
        }
Пример #4
0
        public void WhenWordContainsDotCharacterShouldReplaceAllOccurences()
        {
            const string wordWithDotChars = "dk.ontrack.model.interfaces.IClientModel";
            const string textTemplate = "the quick brown {0}, a sentence with{1}animals followed by another {2}..";
            var text = string.Format(textTemplate, wordWithDotChars, wordWithDotChars, wordWithDotChars);
            text = BuildMultilineText(text);

            const string search = wordWithDotChars;

            const string dog = "dog";
            var expectedResult = string.Format(textTemplate, dog, wordWithDotChars, dog);
            expectedResult = BuildMultilineText(expectedResult);

            var e = new WordReplacer(search, dog);

            e.Replace(text);

            Assert.IsTrue(e.Success());

            var result = e.ReplacedText;
            Assert.AreEqual(expectedResult, result);
        }
Пример #5
0
        public void ShouldReplaceAllOccurences()
        {
            const string fox = "fox";
            const string textTemplate = "the quick brown {0}, a sentence with{1}animals followed by another {2}..";
            var text = string.Format(textTemplate, fox, fox, fox);
            text = BuildMultilineText(text);

            const string search = fox;

            const string dog = "dog";
            var expectedResult = string.Format(textTemplate, dog, fox, dog);
            expectedResult = BuildMultilineText(expectedResult);

            var e = new WordReplacer(search, dog);

            e.Replace(text);

            Assert.IsTrue(e.Success());

            var result = e.ReplacedText;
            Assert.AreEqual(expectedResult, result);
        }