public void RemovePunctuatuation()
        {
            bool   replacedUnwantedChars;
            string result = FriendlyUrlController.CleanNameForUrl("Dr. Cousteau, where are you?", CreateFriendlyUrlOptions(), out replacedUnwantedChars);

            Assert.IsTrue(replacedUnwantedChars);
            Assert.AreEqual("DrCousteauwhereareyou", result);
        }
        public void DoNotRemoveDoubleReplacements()
        {
            bool   replacedUnwantedChars;
            string result = FriendlyUrlController.CleanNameForUrl("This, ,Has Lots Of---Replacements   Don't you think?", CreateFriendlyUrlOptions(replaceDoubleChars: false, replaceSpaceWith: "-"), out replacedUnwantedChars);

            Assert.IsTrue(replacedUnwantedChars);
            Assert.AreEqual("This---Has-Lots-Of---Replacements---Dont-you-think", result);
        }
        public void PerfTest()
        {
            var watch = new Stopwatch();

            watch.Start();

            const int iterations = 100000;

            for (var i = 0; i < iterations; i++)
            {
                bool   replacedUnwantedChars;
                string result = FriendlyUrlController.CleanNameForUrl("Jimmy Eat World", CreateFriendlyUrlOptions(), out replacedUnwantedChars);

                Assert.IsFalse(replacedUnwantedChars);
                Assert.AreEqual("JimmyEatWorld", result);
            }

            watch.Stop();

            Assert.Inconclusive("{0} iterations took {1}ms", iterations, watch.Elapsed);
        }