void TestLoadKanaTable() { var solution = Regex.Replace(Environment.CurrentDirectory, @"\\LogTalk\.UnitTests\\.*$", "", RegexOptions.IgnoreCase); var path = Path.Combine(solution, @"LogTalk\arpabet-kana.csv"); using (StreamReader reader = new StreamReader(path, Encoding.UTF8)) { var table = Arpabet.LoadKanaTable(reader); Assert.NotEmpty(table); } }
void TestTryParse() { var solution = Regex.Replace(Environment.CurrentDirectory, @"\\LogTalk\.UnitTests\\.*$", "", RegexOptions.IgnoreCase); var path = Path.Combine(solution, @"LogTalk\arpabet-kana.csv"); using (StreamReader reader = new StreamReader(path, Encoding.UTF8)) { var table = Arpabet.LoadKanaTable(reader); var symbols = new string[] { "K", "AE1", "T" }; var succeeded = Arpabet.TryParse(table, symbols, out var kana); Assert.True(succeeded); Assert.Equal("カト", kana); } }
void TestLoad() { var solution = Regex.Replace(Environment.CurrentDirectory, @"\\LogTalk\.UnitTests\\.*$", "", RegexOptions.IgnoreCase); IReadOnlyList <(Arpabet.Symbol[], string?)>?arpabet = null; var path = Path.Combine(solution, @"LogTalk\arpabet-kana.csv"); using (StreamReader reader = new StreamReader(path, Encoding.UTF8)) { arpabet = Arpabet.LoadKanaTable(reader); } path = Path.Combine(solution, @"LogTalk\cmudict.dict"); using (StreamReader reader = new StreamReader(path, Encoding.UTF8)) { var dict = CmuPronouncingDictionary.Load(reader, arpabet); Assert.NotEmpty(dict); var pronunciation = dict["green"]; Assert.NotEmpty(pronunciation); } }