private void GivenTests(Permuter permuter)
 {
     Assert.IsTrue(permuter.HasPalindrome("civic"));
     Assert.IsTrue(permuter.HasPalindrome("ivicc"));
     Assert.IsFalse(permuter.HasPalindrome("civil"));
     Assert.IsFalse(permuter.HasPalindrome("livci"));
 }
 private void EdgeCaseTestSetup(Permuter permuter)
 {
     Assert.IsTrue(permuter.HasPalindrome(""));
     Assert.IsTrue(permuter.HasPalindrome(" "));
     Assert.IsTrue(permuter.HasPalindrome(null));
     Assert.IsTrue(permuter.HasPalindrome("a"));
     Assert.IsTrue(permuter.HasPalindrome("aa"));
 }
 private void SimpleTests(Permuter permuter)
 {
     //I don't like copy/pasting my tests like this.  Any ideas for a better way?
     Assert.IsTrue(permuter.HasPalindrome("abba"));
     Assert.IsTrue(permuter.HasPalindrome("abcba"));
     Assert.IsTrue(permuter.HasPalindrome("aabbc"));
     Assert.IsFalse(permuter.HasPalindrome("abc"));
 }
        private void TimingTestExecution(Permuter permuter,
                                         string input,
                                         int numberofruns)
        {
            Trace.Write("Testing " + permuter.ToString() + " with " + numberofruns + ": ");
            var watch = new Stopwatch();

            watch.Start();

            for (int i = 0; i < numberofruns; i++)
            {
                permuter.HasPalindrome(input);
            }
            watch.Stop();
            Trace.WriteLine(watch.ElapsedMilliseconds);
        }