public void Should_Convert_Succeed(string input, string[] expected)
        {
            var zhuyinProvicer = new ZhuyinReverseConversionProvider();

            var actual = zhuyinProvicer.Convert(input);

            Assert.IsTrue(actual.SequenceEqual(expected));
        }
        public void Should_Convert_With_AutoFillSpaces()
        {
            var zhuyinProvicer = new ZhuyinReverseConversionProvider();

            zhuyinProvicer.AutoFillSpaces = true;

            var expected = new string[] { "ㄅ ㄢˉ" }; // 注意有聲調符號(一聲)
            var actual   = zhuyinProvicer.Convert("班");

            Assert.IsTrue(actual.SequenceEqual(expected));
        }
        private ZhuyinReverseConverter CreateZhuyinConverter(bool preferIFELanguage)
        {
            IReverseConversionProvider provider = null;

            if (preferIFELanguage)
            {
                provider = new ImmZhuyinConversionProvider();
                Log.Debug("注音字根提供者使用 IFELanguage 版本的 ImmZhuyinConversionProvider。");
            }

            if (provider == null || provider.IsAvailable == false)
            {
                provider = new ZhuyinReverseConversionProvider();
                Log.Debug("注音字根提供者使用內建的 ZhuyinReverseConversionProvider。");
            }
            return(new ZhuyinReverseConverter(provider));
        }