Beispiel #1
0
        public static void Main(string[] args)
        {
            var filter = new NegativeWordFilter(new NegativeWordSettingsProvider());

            do
            {
                Console.WriteLine("Press");
                Console.WriteLine("1 to Get Content");
                Console.WriteLine("2 to Disable Filtering");
                Console.WriteLine("3 to Enable Filtering");
                Console.WriteLine("ANY other key to exit.");
                var keyPressed = Console.ReadKey().KeyChar;

                switch (keyPressed)
                {
                case '1':
                    DisplayContent(filter); break;

                case '2':
                    DisableFiltering(filter); break;

                case '3':
                    EnableFiltering(filter); break;

                default:
                    return;
                }

                Console.WriteLine("");
                Console.WriteLine("");
            } while (true);
        }
Beispiel #2
0
        private static void DisplayContent(NegativeWordFilter filter)
        {
            string content =
                "The weather in Manchester in winter is bad. It rains all the time - it must be horrible for people visiting.";

            Console.WriteLine("");
            Console.WriteLine("Scanned the text:");
            Console.WriteLine(filter.Filter(content));
            Console.WriteLine("Total Number of negative words: " + filter.Count(content));
        }
Beispiel #3
0
        public void TurnOffFilter_Invokes_TurnOffFilter_On_NegativeWordSettingsProvider()
        {
            var negativeWordSettingsProvider = Mock.Of <INegativeWordSettingsProvider>();

            var sut = new NegativeWordFilter(negativeWordSettingsProvider);

            sut.TurnOffFilter();

            Mock.Get(negativeWordSettingsProvider)
            .Verify(x => x.TurnOffFilter(), Times.Once);
        }
Beispiel #4
0
        public void Count_WhenThereAreNoNegativeWords_Returns_Zero(string phrase)
        {
            var negativeWordSettingsProvider = Mock.Of <INegativeWordSettingsProvider>();

            Mock.Get(negativeWordSettingsProvider)
            .Setup(x => x.GetAllWords())
            .Returns(new List <string>());

            var sut         = new NegativeWordFilter(negativeWordSettingsProvider);
            var actualCount = sut.Count(phrase);

            Assert.AreEqual(0, actualCount);
        }
Beispiel #5
0
        public void Count_WhenInvokedWithEmptyOrNullPhrase_Returns_Zero(string phrase, params string[] negativeWords)
        {
            var negativeWordSettingsProvider = Mock.Of <INegativeWordSettingsProvider>();

            Mock.Get(negativeWordSettingsProvider)
            .Setup(x => x.GetAllWords())
            .Returns(negativeWords.ToList());

            var sut         = new NegativeWordFilter(negativeWordSettingsProvider);
            var actualCount = sut.Count(phrase);

            Assert.AreEqual(0, actualCount);
        }
Beispiel #6
0
        public void Count_WhenInvokedWithNonEmptyPhrase_Returns_NegativeWordsCount_CaseInsensitive(string phrase, int expectedCount, params string[] negativeWords)
        {
            var negativeWordSettingsProvider = Mock.Of <INegativeWordSettingsProvider>();

            Mock.Get(negativeWordSettingsProvider)
            .Setup(x => x.GetAllWords())
            .Returns(negativeWords.ToList());

            var sut         = new NegativeWordFilter(negativeWordSettingsProvider);
            var actualCount = sut.Count(phrase);

            Assert.AreEqual(expectedCount, actualCount);
        }
Beispiel #7
0
        public void Filter_WhenFilteringIsOff_Returns_TheSame(string phrase, params string[] negativeWords)
        {
            var negativeWordSettingsProvider = Mock.Of <INegativeWordSettingsProvider>();

            Mock.Get(negativeWordSettingsProvider)
            .Setup(x => x.GetAllWords())
            .Returns(negativeWords.ToList());
            Mock.Get(negativeWordSettingsProvider)
            .Setup(x => x.IsFilteringOn())
            .Returns(false);

            var sut    = new NegativeWordFilter(negativeWordSettingsProvider);
            var actual = sut.Filter(phrase);

            Assert.AreEqual(phrase, actual);
        }
Beispiel #8
0
        public void Filter_WhenThereAreNoNegativeWords_Returns_TheSame(string phrase)
        {
            var negativeWordSettingsProvider = Mock.Of <INegativeWordSettingsProvider>();

            Mock.Get(negativeWordSettingsProvider)
            .Setup(x => x.GetAllWords())
            .Returns(new List <string>());
            Mock.Get(negativeWordSettingsProvider)
            .Setup(x => x.IsFilteringOn())
            .Returns(true);

            var sut    = new NegativeWordFilter(negativeWordSettingsProvider);
            var actual = sut.Filter(phrase);

            Assert.AreEqual(phrase, actual);
        }
Beispiel #9
0
        public void Filter_WhenFilteringIsOn_And_InvokedWithNonEmptyPhrase_Returns_FilteredPhrase(string phrase, string expected, params string[] negativeWords)
        {
            var negativeWordSettingsProvider = Mock.Of <INegativeWordSettingsProvider>();

            Mock.Get(negativeWordSettingsProvider)
            .Setup(x => x.GetAllWords())
            .Returns(negativeWords.ToList());
            Mock.Get(negativeWordSettingsProvider)
            .Setup(x => x.IsFilteringOn())
            .Returns(true);

            var sut    = new NegativeWordFilter(negativeWordSettingsProvider);
            var actual = sut.Filter(phrase);

            Assert.AreEqual(expected, actual);
        }
Beispiel #10
0
 private static void DisableFiltering(NegativeWordFilter filter)
 {
     filter.TurnOffFilter();
     Console.WriteLine("");
     Console.WriteLine("Filtering Disabled");
 }