using NUnit.Framework; [TestFixture] public class AnagramTest { [Ignore] [Test] public void No_matches() { var detector = new Anagram("diaper"); var words = new[] { "hello", "world", "zombies", "pants" }; var results = new string[0]; Assert.That(detector.Match(words), Is.EquivalentTo(results)); } [Ignore] [Test] public void Detect_simple_anagram() { var detector = new Anagram("ant"); var words = new[] { "tan", "stand", "at" }; var results = new[] { "tan" }; Assert.That(detector.Match(words), Is.EquivalentTo(results)); } [Ignore] [Test] public void Detect_multiple_anagrams() { var detector = new Anagram("master"); var words = new[] { "stream", "pigeon", "maters" }; var results = new[] { "maters", "stream" }; Assert.That(detector.Match(words), Is.EquivalentTo(results)); } [Ignore] [Test] public void Does_not_confuse_different_duplicates() { var detector = new Anagram("galea"); var words = new[] { "eagle" }; var results = new string[0]; Assert.That(detector.Match(words), Is.EquivalentTo(results)); } [Ignore] [Test] public void Identical_word_is_not_anagram() { var detector = new Anagram("corn"); var words = new[] { "corn", "dark", "Corn", "rank", "CORN", "cron", "park" }; var results = new[] { "cron" }; Assert.That(detector.Match(words), Is.EquivalentTo(results)); } [Ignore] [Test] public void Eliminate_anagrams_with_same_checksum() { var detector = new Anagram("mass"); var words = new[] { "last" }; var results = new string[0]; Assert.That(detector.Match(words), Is.EquivalentTo(results)); } [Ignore] [Test] public void Eliminate_anagram_subsets() { var detector = new Anagram("good"); var words = new[] { "dog", "goody" }; var results = new string[0]; Assert.That(detector.Match(words), Is.EquivalentTo(results)); } [Ignore] [Test] public void Detect_anagrams() { var detector = new Anagram("allergy"); var words = new[] { "gallery", "ballerina", "regally", "clergy", "largely", "leading" }; var results = new[] { "gallery", "largely", "regally" }; Assert.That(detector.Match(words), Is.EquivalentTo(results)); } [Ignore] [Test] public void Anagrams_are_case_insensitive() { var detector = new Anagram("Orchestra"); var words = new[] { "cashregister", "Carthorse", "radishes" }; var results = new[] { "Carthorse" }; Assert.That(detector.Match(words), Is.EquivalentTo(results)); } }