public void CensoredStringReturnsCensoredStringThatIsOnlySpaces()
        {
            var filter = new ProfanityFilter();

            var censored = filter.CensorString("     ");
            var result   = "     ";

            Assert.AreEqual(censored, result);
        }
        public void CensoredStringReturnsCensoredStringThatisOnlyNonAlphaNumericCharacters()
        {
            var filter = new ProfanityFilter();

            var censored = filter.CensorString("!@£$*&^&$%^$£%£$@£$£@$£$%%^");
            var result   = "!@£$*&^&$%^$£%£$@£$£@$£$%%^";

            Assert.AreEqual(censored, result);
        }
        public void CensoredStringReturnsStringWithNoCensorship()
        {
            var filter = new ProfanityFilter();

            var censored = filter.CensorString("Hello, I am a fish.", '*');
            var result   = "Hello, I am a fish.";

            Assert.AreEqual(censored, result);
        }
        public void CensoredStringReturnsCensoredStringWithTrailingSpace()
        {
            var filter = new ProfanityFilter();

            var censored = filter.CensorString("Hello you little f**k ");
            var result   = "Hello you little **** ";

            Assert.AreEqual(censored, result);
        }
        public void CensoredStringReturnsStringWithProfanitiesBleepedOutNoAllowListMixedCase()
        {
            var filter = new ProfanityFilter();

            var censored = filter.CensorString("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.", '*');
            var result   = "I ******* Live In Scunthorpe And It Is A **** Place To Live. I Would Much Rather Live In Penistone You Great Big **** ****.";

            Assert.AreEqual(censored, result);
        }
        public void CensoredStringReturnsStringWithProfanitiesBleepedOut2WithExclaimationMark()
        {
            var filter = new ProfanityFilter();

            var censored = filter.CensorString("2 girls 1 cup, is my favourite twatting video.", '!');
            var result   = "! !!!!! ! !!!, is my favourite !!!!!!!! video.";

            Assert.AreEqual(censored, result);
        }
        public void CensoredStringReturnsStringWithMultiScunthorpeBasedMultiCunt()
        {
            var filter = new ProfanityFilter();

            var censored = filter.CensorString("c**t scunthorpe c**t scunthorpe c**t");
            var result   = "**** scunthorpe **** scunthorpe ****";

            Assert.AreEqual(censored, result);
        }
        public void CensoredStringReturnsCensoredStringMotherfucker12()
        {
            var filter = new ProfanityFilter();

            var censored = filter.CensorString("I've had 10 beers, and you are a motherfucker1 and a 'f*****g twat3'.", '*', true);
            var result   = "I've had 10 beers, and you are a ************* and a '******* *****'.";

            Assert.AreEqual(censored, result);
        }
        public void CensoredStringReturnsStringWithSingleScunthorpeAllLower()
        {
            var filter = new ProfanityFilter();

            var censored = filter.CensorString("scunthorpe");
            var result   = "scunthorpe";

            Assert.AreEqual(censored, result);
        }
        public void CensoredStringReturnsStringDoubleCunt()
        {
            var filter = new ProfanityFilter();

            var censored = filter.CensorString("c**t c**t");
            var result   = "**** ****";

            Assert.AreEqual(censored, result);
        }
        public void CensoredStringReturnsStringWithSingleScunthorpeMixedCase2()
        {
            var filter = new ProfanityFilter();

            var censored = filter.CensorString("ScUnThOrPePeNiStOnE");
            var result   = "ScUnThOrPePeNiStOnE";

            Assert.AreEqual(censored, result);
        }
        public void CensoredStringReturnsStringWithProfanitiesBleepedOut4()
        {
            var filter = new ProfanityFilter();

            var censored = filter.CensorString("You are a stupid little twat, and you like to blow your load in an alaskan pipeline.");
            var result   = "You are a ****** little ****, and you like to **** **** **** in an ******* ********.";

            Assert.AreEqual(censored, result);
        }
        public void CensoredStringReturnsStringWithProfanitiesBleepedOut3()
        {
            var filter = new ProfanityFilter();

            var censored = filter.CensorString("Mary had a little shit lamb who was a little f****r.");
            var result   = "Mary had a little **** lamb who was a little ******.";

            Assert.AreEqual(censored, result);
        }
        public void CensoredStringReturnsCensoredStringMotherfucker9()
        {
            var filter = new ProfanityFilter();

            var censored = filter.CensorString("  motherfucker1  ", '*', true);
            var result   = "  *************  ";

            Assert.AreEqual(censored, result);
        }
        public void CensoredStringReturnsStringWithProfanitiesBleepedOut2WithDifferentCharacter()
        {
            var filter = new ProfanityFilter();

            var censored = filter.CensorString("2 girls 1 cup, is my favourite twatting video.", '@');
            var result   = "@ @@@@@ @ @@@, is my favourite @@@@@@@@ video.";

            Assert.AreEqual(censored, result);
        }
        public void CensoredStringReturnsCensoredStringMotherfucker10()
        {
            var filter = new ProfanityFilter();

            var censored = filter.CensorString("You are a motherfucker1 and a f*****g twat3.", '*', true);
            var result   = "You are a ************* and a ******* *****.";

            Assert.AreEqual(censored, result);
        }
        public void CensoredStringReturnsStringWithProfanitiesBleepedOut2WithQuotes()
        {
            var filter = new ProfanityFilter();

            var censored = filter.CensorString("2 girls 1 cup, is my favourite twatting video.", '\"');
            var result   = "\" \"\"\"\"\" \" \"\"\", is my favourite \"\"\"\"\"\"\"\" video.";

            Assert.AreEqual(censored, result);
        }
        public void CensoredStringReturnsCensoredStringonEmptytString()
        {
            var filter = new ProfanityFilter();

            var censored = filter.CensorString("");
            var result   = "";

            Assert.AreEqual(censored, result);
        }
        public void CensoredStringReturnsStringWithProfanitiesBleepedOutNoAllowList()
        {
            var filter = new ProfanityFilter();

            var censored = filter.CensorString("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.", '*');
            var result   = "I ******* live in Scunthorpe and it is a **** place to live. I would much rather live in penistone you great big **** ****.";

            Assert.AreEqual(censored, result);
        }