示例#1
0
        public void TestWordLibrary2String()
        {
            ParsePattern parser = new ParsePattern()
            {
                IsPinyinFormat  = true,
                CodeSplitType   = BuildType.FullContain,
                CodeSplitString = ",",
                ContainCode     = true,
                ContainRank     = true,
                SplitString     = "|",
                CodeType        = CodeType.Pinyin,
                Sort            = new List <int>()
                {
                    2, 1, 3
                }
            };
            WordLibrary wl = new WordLibrary()
            {
                Word = "深蓝", Rank = 123, CodeType = CodeType.Pinyin
            };

            wl.Codes = new Code();
            wl.Codes.Add(new[] { "shen" });
            wl.Codes.Add(new[] { "lan" });
            var selfDefining = new SelfDefining();

            selfDefining.UserDefiningPattern = parser;
            var str = selfDefining.ExportLine(wl);

            Assert.AreEqual(str, "深蓝|,shen,lan,|123");
        }
示例#2
0
        public void TestGeneratePinyinThen2String()
        {
            ParsePattern parser = new ParsePattern()
            {
                IsPinyinFormat  = true,
                CodeSplitType   = BuildType.FullContain,
                CodeSplitString = "~",
                ContainCode     = true,
                ContainRank     = true,
                SplitString     = "|",
                CodeType        = CodeType.Pinyin,
                LineSplitString = "\r",
                Sort            = new List <int>()
                {
                    2, 1, 3
                }
            };
            WordLibraryList wll = new WordLibraryList();
            WordLibrary     wl  = new WordLibrary()
            {
                Word = "深蓝", Rank = 123, CodeType = CodeType.UserDefine
            };

            wl.Codes = new Code();
            wl.Codes.Add(new[] { "sn" });
            wl.Codes.Add(new[] { "ln" });
            wll.Add(wl);
            var selfDefining = new SelfDefining();

            selfDefining.UserDefiningPattern = parser;
            var str = selfDefining.Export(wll);

            Assert.AreEqual(str[0], "深蓝|~shen~lan~|123\r");
        }
示例#3
0
        public void TestPinyinString2WL()
        {
            ParsePattern parser = new ParsePattern()
            {
                IsPinyinFormat  = true,
                CodeSplitType   = BuildType.FullContain,
                CodeSplitString = ",",
                ContainCode     = true,
                ContainRank     = true,
                SplitString     = " ",
                Sort            = new List <int>()
                {
                    2, 1, 3
                }
            };
            var str          = "深蓝 ,shen,lan, 1";
            var selfDefining = new SelfDefining();

            selfDefining.UserDefiningPattern = parser;
            var wl = selfDefining.ImportLine(str)[0];

            Assert.AreEqual(wl.Codes[0][0], "shen");
            Assert.AreEqual(wl.Codes[1][0], "lan");
            Assert.AreEqual(wl.Rank, 1);
        }
示例#4
0
        public void TestExportPinyinDifferentFormatWL()
        {
            var p = new ParsePattern();

            p.Sort = new List <int>()
            {
                3, 2, 1
            };
            p.SplitString     = "$";
            p.ContainRank     = false;
            p.CodeSplitString = "_";
            p.CodeSplitType   = BuildType.None;
            p.IsPinyinFormat  = true;
            p.CodeType        = CodeType.Pinyin;
            var selfDefining = new SelfDefining();

            selfDefining.UserDefiningPattern = p;
            Console.WriteLine("CodeType:" + selfDefining.UserDefiningPattern.CodeType.ToString());
            var str1 = selfDefining.Export(new WordLibraryList()
            {
                WlData
            });

            Console.WriteLine(str1[0]);
            Assert.AreEqual(str1[0], "深蓝测试$shen_lan_ce_shi\r\n");
        }
示例#5
0
        public void TestExportExtCodeWL()
        {
            var selfDefining = new SelfDefining();

            selfDefining.UserDefiningPattern = InitPattern();
            selfDefining.UserDefiningPattern.MappingTablePath = "./Test/array30.txt";
            var str = selfDefining.Export(new WordLibraryList()
            {
                WlData
            });

            Debug.WriteLine(str);
            //Assert.IsNotNullOrEmpty(str);
        }
示例#6
0
        public void TestImportTxt()
        {
            string txt = "深藍 shen,lan 12345";
            var    pp  = new ParsePattern();

            pp.Sort = new List <int>()
            {
                2, 1, 3
            };
            pp.IsPinyinFormat  = true;
            pp.CodeType        = CodeType.Pinyin;
            pp.CodeSplitString = ",";
            pp.SplitString     = " ";
            pp.CodeSplitType   = BuildType.None;
            var selfDefining = new SelfDefining();

            selfDefining.UserDefiningPattern = pp;

            var x = selfDefining.ImportLine(txt);

            Debug.WriteLine(x[0].ToString());
            Assert.AreEqual(x[0].Word, "深藍");
        }
示例#7
0
        public void TestExportExtCodeLots()
        {
            string str  = "深蓝词库转换测试代码";
            var    list = new WordLibraryList();
            var    ts   = "";

            foreach (var c in str)
            {
                ts += c;
                list.Add(new WordLibrary()
                {
                    Rank = 10, IsEnglish = false, Word = ts
                });
            }

            var selfDefining = new SelfDefining();

            selfDefining.UserDefiningPattern = InitPattern();
            selfDefining.UserDefiningPattern.MappingTablePath = "./Test/array30.txt";
            var x = selfDefining.Export(list);

            Debug.WriteLine(x);
            Assert.IsNotNull(str);
        }
示例#8
0
 public void Init()
 {
     selfDefining = new SelfDefining();
 }
示例#9
0
 public void Init()
 {
     export = new SelfDefining();
 }