コード例 #1
0
        public void TestVoicedToDeafConsonantsReplace(string inputedWord, string result)
        {
            PhoneticConverter test  = new PhoneticConverter(inputedWord);
            string            tests = test.VoicedToDeafConsonantsReplace(inputedWord);

            Assert.AreEqual(tests, result);
        }
コード例 #2
0
        public void RemoveConverter(WordConverter cvt)
        {
            // 移除已知的轉換器。

            if (cvt is ContextTagConverter)
            {
                m_ContextTagConverter = null;
                return;
            }
            if (cvt is ChineseWordConverter)
            {
                m_ChineseConverter = null;
                return;
            }
            if (cvt is EnglishWordConverter)
            {
                m_EnglishConverter = null;
                return;
            }
            if (cvt is MathConverter)
            {
                m_MathConverter = null;
                return;
            }
            if (cvt is PhoneticConverter)               // 音標轉換器.
            {
                m_PhoneticConverter = null;
                return;
            }

            m_Converters.Remove(cvt);
        }
コード例 #3
0
        public void TestDoubleSoundVowelsReplace(string inputedWord, string result)
        {
            PhoneticConverter test  = new PhoneticConverter(inputedWord);
            string            tests = test.DoubleSoundVowelsReplace(inputedWord);

            Assert.AreEqual(tests, result);
        }
コード例 #4
0
        private BrailleProcessor(ZhuyinReverseConverter zhuyinConverter)
        {
            m_Converters = new List <WordConverter>();

            m_ContextTagConverter = new ContextTagConverter();
            m_ChineseConverter    = new ChineseWordConverter(zhuyinConverter);
            m_EnglishConverter    = new EnglishWordConverter();
            m_MathConverter       = new MathConverter();
            m_CoordConverter      = new CoordinateConverter();
            m_TableConverter      = new TableConverter();
            m_PhoneticConverter   = new PhoneticConverter();

            m_Tags = new Hashtable();
            m_Tags.Add(TextTag.Name, "╴╴");             // key/value = 標籤/替換字元
            m_Tags.Add(TextTag.BookName, "﹏﹏");
            m_Tags.Add(TextTag.NumericItem, "#");
            m_Tags.Add(TextTag.OrgPageNumber, s_DashesForOrgPageNumber); // 原書頁碼
            m_Tags.Add(TextTag.Unit1End, new string('ˍ', 20));           // 大單元結束
            m_Tags.Add(TextTag.Unit2End, new string('﹍', 20));           // 小單元結束
            m_Tags.Add(TextTag.Unit3End, new string('﹋', 20));           // 小題結束
            m_Tags.Add(TextTag.BrailleComment, "★");                     // 點譯者註

            m_ContextTagManager = new ContextTagManager();

            m_InvalidChars   = new List <CharPosition>();
            m_ErrorMsg       = new StringBuilder();
            m_SuppressEvents = false;
        }
コード例 #5
0
        public void TestShockVowelSearch(string inputedWord, int result)
        {
            PhoneticConverter expectedResult = new PhoneticConverter(inputedWord);
            int actualResults = expectedResult.ShockVowelSearch(inputedWord);

            Assert.AreEqual(actualResults, result);
        }
コード例 #6
0
        public void TestOAReplace(string inputedWord, int indexOfShockConst, string result)
        {
            PhoneticConverter test  = new PhoneticConverter(inputedWord);
            string            tests = test.OAReplace(inputedWord, indexOfShockConst);

            Assert.AreEqual(tests, result);
        }
コード例 #7
0
        public void AddConverter(WordConverter cvt)
        {
            // 設定已知的轉換器。

            if (cvt is ContextTagConverter)
            {
                m_ContextTagConverter = (ContextTagConverter)cvt;
                return;
            }
            if (cvt is ChineseWordConverter)
            {
                m_ChineseConverter = (ChineseWordConverter)cvt;
                return;
            }
            if (cvt is EnglishWordConverter)
            {
                m_EnglishConverter = (EnglishWordConverter)cvt;
                return;
            }
            if (cvt is MathConverter)   // 數學符號轉換器.
            {
                m_MathConverter = (MathConverter)cvt;
                return;
            }
            if (cvt is PhoneticConverter)               // 音標轉換器.
            {
                m_PhoneticConverter = (PhoneticConverter)cvt;
                return;
            }

            // 加入其他未知的轉換器。
            if (m_Converters.IndexOf(cvt) < 0)
            {
                m_Converters.Add(cvt);
            }
        }
コード例 #8
0
        public void NegativeTestShockVowelSearch(string inputedWord)
        {
            PhoneticConverter test = new PhoneticConverter(inputedWord);

            Assert.Throws <CustomException>(() => test.ShockVowelSearch(inputedWord));
        }