Example #1
0
        public void testToTongyongPinyinStringArray()
        {
            // any input of non-Chinese characters will return null
            {
                Assert.IsNull(PinyinHelper.toTongyongPinyinStringArray('A'));
                Assert.IsNull(PinyinHelper.toTongyongPinyinStringArray('z'));
                Assert.IsNull(PinyinHelper.toTongyongPinyinStringArray(','));
                Assert.IsNull(PinyinHelper.toTongyongPinyinStringArray('。'));
            }

            // Chinese characters
            // single pronounciation
            {
                String[] expectedPinyinArray = new String[] { "li3" };
                String[] pinyinArray         = PinyinHelper.toTongyongPinyinStringArray('李');

                Assert.AreEqual(expectedPinyinArray.Length, pinyinArray.Length);

                for (int i = 0; i < expectedPinyinArray.Length; i++)
                {
                    Assert.AreEqual(expectedPinyinArray[i], pinyinArray[i]);
                }
            }
            {
                String[] expectedPinyinArray = new String[] { "ciou2" };
                String[] pinyinArray         = PinyinHelper.toTongyongPinyinStringArray('球');

                Assert.AreEqual(expectedPinyinArray.Length, pinyinArray.Length);

                for (int i = 0; i < expectedPinyinArray.Length; i++)
                {
                    Assert.AreEqual(expectedPinyinArray[i], pinyinArray[i]);
                }
            }
            {
                String[] expectedPinyinArray = new String[] { "jhuang1" };
                String[] pinyinArray         = PinyinHelper.toTongyongPinyinStringArray('桩');

                Assert.AreEqual(expectedPinyinArray.Length, pinyinArray.Length);

                for (int i = 0; i < expectedPinyinArray.Length; i++)
                {
                    Assert.AreEqual(expectedPinyinArray[i], pinyinArray[i]);
                }
            }

            // multiple pronounciations
            {
                String[] expectedPinyinArray = new String[] { "chuan2", "jhuan4" };
                String[] pinyinArray         = PinyinHelper.toTongyongPinyinStringArray('传');

                Assert.AreEqual(expectedPinyinArray.Length, pinyinArray.Length);

                for (int i = 0; i < expectedPinyinArray.Length; i++)
                {
                    Assert.AreEqual(expectedPinyinArray[i], pinyinArray[i]);
                }
            }

            {
                String[] expectedPinyinArray = new String[] { "lyu4", "lu4" };
                String[] pinyinArray         = PinyinHelper.toTongyongPinyinStringArray('绿');

                Assert.AreEqual(expectedPinyinArray.Length, pinyinArray.Length);

                for (int i = 0; i < expectedPinyinArray.Length; i++)
                {
                    Assert.AreEqual(expectedPinyinArray[i], pinyinArray[i]);
                }
            }
        }