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)); }
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); }
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); }