private void CheckMessageDecoding( IFindWords thesaurus, string input, IEnumerable<IEnumerable<string>> expectedOutput ) { var decoder = CreateDecoder (); var candidatesCount = decoder.Count (Convert.DotDashStringToMorse (input), thesaurus); Assert.That (candidatesCount, Is.EqualTo (expectedOutput.Count ())); var candidates = decoder.Decode (Convert.DotDashStringToMorse (input), thesaurus); Assert.That (NormalizeResults (candidates), Is.EquivalentTo (NormalizeResults (expectedOutput))); }
static void CheckWords(IFindWords thesaurus, string morseInput, params string[] expectedWords) { var words = thesaurus.GetWordsStarting (Convert.DotDashStringToMorse (morseInput)); Assert.That (words.Select (r => r.Word).ToList (), Is.EquivalentTo (expectedWords)); }