Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
            }
        }