using Xunit; public class AnagramTest { [Fact] public void No_matches() { var detector = new Anagram("diaper"); var words = new[] { "hello", "world", "zombies", "pants" }; var results = new string[0]; Assert.Equal(results, detector.Match(words)); } [Fact(Skip = "Remove to run test")] public void Detect_simple_anagram() { var detector = new Anagram("ant"); var words = new[] { "tan", "stand", "at" }; var results = new[] { "tan" }; Assert.Equal(results, detector.Match(words)); } [Fact(Skip = "Remove to run test")] public void Detect_multiple_anagrams() { var detector = new Anagram("master"); var words = new[] { "stream", "pigeon", "maters" }; var results = new[] { "maters", "stream" }; Assert.Equal(results, detector.Match(words)); } [Fact(Skip = "Remove to run test")] public void Does_not_confuse_different_duplicates() { var detector = new Anagram("galea"); var words = new[] { "eagle" }; var results = new string[0]; Assert.Equal(results, detector.Match(words)); } [Fact(Skip = "Remove to run 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.Equal(results, detector.Match(words)); } [Fact(Skip = "Remove to run test")] public void Eliminate_anagrams_with_same_checksum() { var detector = new Anagram("mass"); var words = new[] { "last" }; var results = new string[0]; Assert.Equal(results, detector.Match(words)); } [Fact(Skip = "Remove to run test")] public void Eliminate_anagram_subsets() { var detector = new Anagram("good"); var words = new[] { "dog", "goody" }; var results = new string[0]; Assert.Equal(results, detector.Match(words)); } [Fact(Skip = "Remove to run 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.Equal(results, detector.Match(words)); } [Fact(Skip = "Remove to run test")] public void Anagrams_are_case_insensitive() { var detector = new Anagram("Orchestra"); var words = new[] { "cashregister", "Carthorse", "radishes" }; var results = new[] { "Carthorse" }; Assert.Equal(results, detector.Match(words)); } }