public void GetProfanities_InputIsNull_ReturnsEmptyCollection()
        {
            var filter    = new ProfanityFilter();
            var swearList = filter.GetProfanities(null);

            Assert.Equal(0, swearList.Count);
        }
        public void GetProfanities_MultiplePermittedTermsPresent_NoProhibitedWordsReturned()
        {
            var filter = new ProfanityFilter();

            filter.Terms.Permitted.Add("scunthorpe");
            var swearList = filter.GetProfanities("Scunthorpe Scunthorpe");

            Assert.Equal(0, swearList.Count);
        }
        public void GetProfanities_MultiplePermittedTermsPresentAndMultipleProhibitedWordsPresent_ReturnsProhibitedTermCorrectly()
        {
            var filter = new ProfanityFilter();

            filter.Terms.Prohibited.Add("c**t");
            var swearList = filter.GetProfanities("Scunthorpe c**t Scunthorpe c**t");

            Assert.Equal(1, swearList.Count);
            Assert.Equal("c**t", swearList.ElementAt(0));
        }
        public void GetProfanities_InputContainsProhibitedTerm_ReturnsTermCorrectly()
        {
            var filter = new ProfanityFilter();

            filter.Terms.Prohibited.Add("2 girls 1 cup");
            var swearList = filter.GetProfanities("2 girls 1 cup is my favourite video");

            Assert.Equal(1, swearList.Count);
            Assert.Equal("2 girls 1 cup", swearList.ElementAt(0));
        }
        public void GetProfanities_InputContainsTwoProhibitedTerms_ReturnsTwoTerms()
        {
            var filter = new ProfanityFilter();

            filter.Terms.Prohibited.Add("twat");
            filter.Terms.Prohibited.Add("dick");
            var swearList = filter.GetProfanities("You are a complete twat and a dick.");

            Assert.Equal(2, swearList.Count);
        }
        public void GetProfanities_InputIsProhibitedWordExactMatch_ReturnsProhibitedTermCorrectly()
        {
            var filter = new ProfanityFilter();

            filter.Terms.Prohibited.Add("c**k");

            var swearList = filter.GetProfanities("c**k");

            Assert.Equal(1, swearList.Count);
            Assert.Equal("c**k", swearList.ElementAt(0));
        }
        public void GetProfanities_InputContainsProhibitedTermWithMixedCase_ReturnsTermCorrectly()
        {
            var filter = new ProfanityFilter();

            filter.Terms.Prohibited.Add("twat");
            filter.Terms.Prohibited.Add("dick");
            var swearList = filter.GetProfanities("You are a complete tWaT");

            Assert.Equal(1, swearList.Count);
            Assert.Equal("twat", swearList.ElementAt(0));
        }
        public void GetProfanities_InputContainsProhibitedTermWithTrailingComma_ReturnsTermCorrectly()
        {
            var filter = new ProfanityFilter();

            filter.Terms.Prohibited.Add("twat");

            var swearList = filter.GetProfanities("You sir are, a complete twat, and a gentleman");

            Assert.Equal(1, swearList.Count);
            Assert.Equal("twat", swearList.ElementAt(0));
        }
        public void GetProfanities_BothProhibitedAndPermittedTermsPresent_ReturnsProhibitedTermCorrectly()
        {
            var filter = new ProfanityFilter();

            filter.Terms.Prohibited.Add("twat");
            filter.Terms.Permitted.Add("tit");

            var swearList = filter.GetProfanities("You are a complete twat and a total tit.");

            Assert.Equal(1, swearList.Count);
            Assert.Equal("twat", swearList.ElementAt(0));
        }
Пример #10
0
        public void GetProfanities_InputContainsTwoWordsJoinedByPunctuation_ReturnsTermsCorrectly()
        {
            var filter = new ProfanityFilter();

            filter.Terms.Prohibited.Add("green");
            filter.Terms.Prohibited.Add("blue");
            filter.Terms.Prohibited.Add("red");

            var prohibitedTerms = filter.GetProfanities("A secondary color is formed by the sum of two primary colors of equal intensity: cyan is green+blue, magenta is blue+red, and yellow is red+green.");

            Assert.Equal(3, prohibitedTerms.Count);
            Assert.Contains("green", prohibitedTerms);
            Assert.Contains("blue", prohibitedTerms);
            Assert.Contains("red", prohibitedTerms);
        }
Пример #11
0
        public void GetProfanities_InputContainsScunthorpeProblem_ReturnsTermsCorrectly()
        {
            var filter = new ProfanityFilter();

            filter.Terms.Prohibited.Add("f*****g");
            filter.Terms.Prohibited.Add("c**k");
            filter.Terms.Prohibited.Add("f**k");
            filter.Terms.Prohibited.Add("shit");
            filter.Terms.Prohibited.Add("c**t");
            filter.Terms.Permitted.Add("scunthorpe");
            filter.Terms.Permitted.Add("penistone");

            var swearList = filter.GetProfanities("I f*****g live in Scunthorpe and it is a shit place to live. I would much rather live in penistone you great big c**k f**k.");

            Assert.Equal(4, swearList.Count);
            Assert.Contains("f*****g", swearList);
            Assert.Contains("c**k", swearList);
            Assert.Contains("shit", swearList);
            Assert.Contains("f**k", swearList);
        }