public void CreatePhraseDictionary(CreatePhraseDictionaryInput input) { GetMappedEntities(); var dictionaryEntity = new PhraseDictionary(); dictionaryEntity = Mapper.Map<CreatePhraseDictionaryInput, PhraseDictionary>(input); unitOfWork.GetGenericPhraseDictionaryRepository().Insert(dictionaryEntity); }
public void GetPhrase_PhraseKeyIsNull_ThrowsException() { // arrange var sut = new PhraseDictionary(); Action sutAction = () => sut.GetPhrase(null, "en"); // act, assert var ex = Assert.Throws <ArgumentNullException>(sutAction); Assert.Equal("phraseKey", ex.ParamName); }
public void GetPhrase_PhraseNotPresent_ReturnsPhraseKey() { // arrange var sut = new PhraseDictionary(); // act var result = sut.GetPhrase("invalid phrase", "en"); // assert Assert.Equal("invalid phrase", result); }
public void GetPhrase_PhraseKeyIsValid_ReturnsPhrase(string key, string expected) { // arrange var sut = new PhraseDictionary(); // act var result = sut.GetPhrase(key, "en"); // assert Assert.Equal(expected, result); }
public void CreatePhraseDictionary(CreatePhraseDictionaryInput input) { Logger.Info("Creating a new dictionary: " + input); GetMappedEntities(); var dictionaryEntity = new PhraseDictionary(); dictionaryEntity = Mapper.Map <CreatePhraseDictionaryInput, PhraseDictionary>(input); _phraseDictionaryRepository.Insert(dictionaryEntity); }
/// <summary> /// Parse phrase data from a string and add it to the dictionary. /// </summary> /// <param name="str"></param> /// <returns></returns> public bool AddPhrase(string str) { if (string.IsNullOrEmpty(str)) { return(false); } string[] parts = str.Split(' '); if (parts?.Length >= 3) { var key = parts[0]; // 片語字串 var freq = Convert.ToInt32(parts[1]); // 如果片語已經存在表中,則比較頻率。若出現頻率大於或等於既有的片語,則覆蓋之。 PhraseData phrase = null; if (PhraseDictionary.ContainsKey(key)) // 片語已經存在表中 { phrase = PhraseDictionary[key]; if (freq < phrase.Frequency) { return(false); } phrase.BopomofoList.Clear(); } else { phrase = new PhraseData(); PhraseDictionary.Add(key, phrase); } phrase.Frequency = freq; for (int i = 2; i < parts.Length; i++) { phrase.BopomofoList.Add(parts[i]); } Logger.Verbose("加入片語: {Key} {@Phrase}", key, phrase); return(true); } Logger.Warning($"無效的片語: {str}"); return(false); }