Ejemplo n.º 1
0
        public void ParseWordClassTest()
        {
            var colorProv  = new ClassicSyllableColorProvider();
            var pinyinProv = new Pinyin4NetConverter();
            var tostrConv  = new ClassicSyllablesToStringConverter();
            var prov       = new PinyinChineseWordParseProvider(colorProv, pinyinProv, tostrConv);

            var word = new Word
            {
                OriginalWord  = "明?白!!",
                Pronunciation = "míng|bai",
                Translation   = "понимать"
            };

            var result = prov.GetOrderedSyllables(word);

            Assert.IsNotNull(result);
            Assert.IsTrue(result.Length == 5);
            Assert.IsTrue(result[0].ChineseChar == '明');
            Assert.IsTrue(result[0].Color == Color.Orange);
            Assert.IsTrue(result[0].Pinyin == "míng");


            Assert.IsTrue(result[2].ChineseChar == '白');
            Assert.IsTrue(result[2].Color == Color.Black);
            Assert.IsTrue(result[2].Pinyin == "bai");
        }
Ejemplo n.º 2
0
        public void AddWordToDictionaryTest()
        {
            var colorProv  = new ClassicSyllableColorProvider();
            var pinyinProv = new Pinyin4NetConverter();
            var tostrConv  = new ClassicSyllablesToStringConverter();
            var prov       = new PinyinChineseWordParseProvider(colorProv, pinyinProv, tostrConv);

            var stringsToImport = new[] { "哪儿;rrr;where? (Beijing accent)" };
            var wordsResult     = prov.ImportWords(stringsToImport);

            Assert.IsNotNull(wordsResult);
            Assert.IsTrue(wordsResult.FailedWords.Length == 1);
            Assert.IsTrue(wordsResult.SuccessfulWords.Length == 1);
            Assert.IsTrue(wordsResult.SuccessfulWords[0].OriginalWord == "哪儿");
            Assert.IsTrue(wordsResult.SuccessfulWords[0].Pronunciation == "nǎ|er");
            Assert.IsTrue(wordsResult.SuccessfulWords[0].Translation == "where? (Beijing accent)");

            stringsToImport = new[] { "哪儿;nǎr;where? (Beijing accent)" };
            wordsResult     = prov.ImportWords(stringsToImport);
            Assert.IsNotNull(wordsResult);
            Assert.IsTrue(wordsResult.FailedWords.Length == 1);
            Assert.IsTrue(wordsResult.SuccessfulWords.Length == 1);
            Assert.IsTrue(wordsResult.SuccessfulWords[0].OriginalWord == "哪儿");
            Assert.IsTrue(wordsResult.SuccessfulWords[0].Pronunciation == "nǎ|er");
            Assert.IsTrue(wordsResult.SuccessfulWords[0].Translation == "where? (Beijing accent)");

            stringsToImport = new[] { "明!!白!;míngbai;понимать" };
            wordsResult     = prov.ImportWords(stringsToImport);
            Assert.IsNotNull(wordsResult);
            Assert.IsTrue(wordsResult.FailedWords.Length == 0);
            Assert.IsTrue(wordsResult.SuccessfulWords.Length == 1);
            Assert.IsTrue(wordsResult.SuccessfulWords[0].OriginalWord == "明!!白!");
            Assert.IsTrue(wordsResult.SuccessfulWords[0].Pronunciation == "míng|bai");
            Assert.IsTrue(wordsResult.SuccessfulWords[0].Translation == "понимать");

            stringsToImport = new[] { "你有病吗?你有药吗?;;- ты больной? (шутл.) - а есть лекарство?;好吧" };

            wordsResult = prov.ImportWords(stringsToImport);

            Assert.IsNotNull(wordsResult);
            Assert.IsTrue(wordsResult.FailedWords.Length == 0);
            Assert.IsTrue(wordsResult.SuccessfulWords.Length == 1);
            Assert.IsTrue(wordsResult.SuccessfulWords[0].OriginalWord == "你有病吗?你有药吗?");
            //Assert.IsTrue(wordsResult.SuccessfulWords[0].PinyinWord == "míng|bai");
            Assert.IsTrue(wordsResult.SuccessfulWords[0].Translation == "- ты больной? (шутл.) - а есть лекарство?");
            Assert.IsTrue(wordsResult.SuccessfulWords[0].Usage == "好吧");

            var result = prov.GetOrderedSyllables(wordsResult.SuccessfulWords[0]);

            Assert.AreEqual("yào", result[7].Pinyin);
        }
Ejemplo n.º 3
0
        public void ParseWordTest()
        {
            var pinyinProv = new Pinyin4NetConverter();
            var tostrConv  = new ClassicSyllablesToStringConverter();
            var prov       = new PinyinChineseWordParseProvider(new ClassicSyllableColorProvider(), pinyinProv, tostrConv);
            var word       = "体育馆";
            //PinyinWord = "tǐyùguǎn",
            //TranslationNative = "Спортзал",
            //TranslationEng = "gym"

            var syllablesToCheck = new[] { "tǐ", "yù", "guǎn" };
            var syllables        = prov.GetOrderedSyllables(word);

            Assert.IsTrue(syllables.Length > 0);

            for (var i = 0; i < syllablesToCheck.Length; i++)
            {
                Assert.AreEqual(syllablesToCheck[i], syllables[i].Pinyin);
            }
        }