public void GetListOfClosestWordsFuncTest() { // arrange ILevenshteinDistance levDist = new WagnerFischer(); List<string> origWords = new List<string>() { "First", "Second", "Third", "Fourth", "Fifth", "Sixth" }; MockDictionaryFileFiller filler = new MockDictionaryFileFiller(origWords); WordsDictionary dic = new WordsDictionary(levDist, filler); List<string> resWords = new List<string>() { "First", "Fifth" }; // act List<string> res = dic.GetClosestWords("Funci"); // assert Assert.IsTrue(Enumerable.SequenceEqual(resWords, res)); }
public void GetListOfClosestWordsCountTest() { // arrange MockLevenshteinDictionary levDist = new MockLevenshteinDictionary(); List<string> origWords = new List<string>() { "First", "Second", "Third", "Fourth", "Fifth", "Sixth" }; MockDictionaryFileFiller filler = new MockDictionaryFileFiller(origWords); WordsDictionary dic = new WordsDictionary(levDist, filler); // act List<string> res = dic.GetClosestWords("Seventh"); // assert Assert.AreEqual(origWords.Count, levDist.CalcLevenshteinDistanceEnters); }
public ActionResult ResultWords(string inputedWord) { List<Word> words = new List<Word>(); if (inputedWord != null) { string language = Request.Form["Language"].ToString(); string dictionaryFilename = AppDomain.CurrentDomain.BaseDirectory + "/Dictionaries/UK.txt"; WordsDictionary dictionary = new WordsDictionary( Singleton.Instance.Factory.CreateLevenshteinDistanceAlgorithm(), Singleton.Instance.Factory.CreateDictionaryFiller(db, language) //Singleton.Instance.Factory.CreateDictionaryFiller(dictionaryFilename) ); List<string> closestWords = dictionary.GetClosestWords(inputedWord); foreach (string word in closestWords) { words.Add(new Word() { Text = word }); } } return View(words); }
/// <summary> /// Инициализирует объект класса и заполняет начальными значениями его члены. /// </summary> /// <param name="levDistance">Объект-алгоритм расчёта расстояния Левенштейна.</param> /// <param name="dictionaryFiller">Объект-наполнитель словаря.</param> public WordsDictionaryModel(ILevenshteinDistance levDistance, IDictionaryFiller dictionaryFiller) { Contract.Ensures(ModelImplementation.DictionaryFiller != null); ModelImplementation = new WordsDictionary(levDistance, dictionaryFiller); }