public string[] FindSuggestions(string word)
        {
            var distanceOneSuggestions = EditWordUptoDistanceOne(word.ToLower());
            var distanceTwoSuggestions = new List <string>();
            var finalSuggestions       = new List <string>();

            foreach (var suggested in distanceOneSuggestions)
            {
                distanceTwoSuggestions.AddRange(EditWordUptoDistanceOne(suggested));

                if (_vocabulary.Search(suggested) && !finalSuggestions.Contains(suggested))
                {
                    finalSuggestions.Add(suggested);
                }
            }

            foreach (var suggested in distanceTwoSuggestions)
            {
                if (_vocabulary.Search(suggested) && !finalSuggestions.Contains(suggested))
                {
                    finalSuggestions.Add(suggested);
                }
            }


            return(finalSuggestions.ToArray());
        }
 public bool IsSpellingCorrect(string word)
 {
     return(_vocabulary.Search(word));
 }