public void Should_AddHigherFrequencyPhrase_When_DuplicatePhrases_With_DifferentFrequency() { // 這組測試資料是用來測試頻率不同的重複片語。 string[] phrases = { "一動不如一靜 1 ㄧ ㄉㄨㄥˋ ㄅㄨˋ ㄖㄨˊ ㄧˊ ㄐㄧㄥˋ", "一動不如一靜 3 ㄧˊ ㄉㄨㄥˋ ㄅㄨˋ ㄖㄨˊ ㄧ ㄐㄧㄥˋ", "一動不如一靜 2 ㄧˊ ㄉㄨㄥˋ ㄅㄨˋ ㄖㄨˊ ㄧˊ ㄐㄧㄥˋ" }; var dictManager = new PhraseDictionaryManager(Log.Logger); for (int i = 0; i < phrases.Length; i++) { dictManager.AddPhrase(phrases[i]); } var expected = new PhraseData( frequency: 3, bopomofoList: new List <string>() { "ㄧˊ", "ㄉㄨㄥˋ", "ㄅㄨˋ", "ㄖㄨˊ", "ㄧ", "ㄐㄧㄥˋ" }); var actual = dictManager.PhraseDictionary["一動不如一靜"]; Assert.IsTrue(actual.Equals(expected)); }
public async Task Should_LoadFileAndSerializeToJsonSucceeded() { string srcFileName = TestContext.CurrentContext.TestDirectory + "/../../../libchewing/data/tsi.src"; var dictManager = new PhraseDictionaryManager(Log.Logger); await dictManager.LoadFromTextFileAsync(srcFileName); string dstFileName = TestContext.CurrentContext.TestDirectory + "/ChewingDictionary.json"; PhraseDictionarySerializer.SerializeToJsonFile(dstFileName, dictManager.PhraseDictionary); Assert.IsTrue(File.Exists(dstFileName)); var deserialized = PhraseDictionarySerializer.DeserializeFromJsonFile(dstFileName); Assert.IsTrue(dictManager.PhraseDictionary.Equals(deserialized)); }
public void Should_SerializationSucceeded(string filename) { var phrases = CreateTestPhraseData(); var dictManager = new PhraseDictionaryManager(Log.Logger); dictManager.LoadFromEnumerable(phrases); filename = TestContext.CurrentContext.TestDirectory + filename; PhraseDictionarySerializer.SerializeToBinaryFile(filename, dictManager.PhraseDictionary); Assert.IsTrue(File.Exists(filename)); var deserialized = PhraseDictionarySerializer.DeserializeFromBinaryFile(filename); Assert.IsTrue(dictManager.PhraseDictionary.Equals(deserialized)); }
public async Task Should_LoadFromFileSucceeded(string filename) { var dictManager = new PhraseDictionaryManager(Log.Logger); await dictManager.LoadFromTextFileAsync(TestContext.CurrentContext.TestDirectory + filename); }