public void TestSubThaiStringAndCount_WithLimitLength()
        {
            var input = "ถ้าหากรักนี้ ไม่บอกไม่พูดไม่กล่าว แล้วเขาจะรู้ว่ารักหรือเปล่า";

            var tokenizer = new ThaiTokenizer();
            var results   = tokenizer.SubThaiStringAndCount(input, 24).ToList();

            var expectedResults = new List <ThaiStringResponse>
            {
                new ThaiStringResponse {
                    Words = "ถ้าหากรักนี้ ไม่บอกไม่พูดไม่กล่าว"
                },
                new ThaiStringResponse {
                    Words = " แล้วเขาจะรู้ว่ารักหรือเปล่า"
                }
            };

            Assert.Equal(expectedResults.Count, results.Count);

            for (var i = 0; i < expectedResults.Count; i++)
            {
                var expectedWord   = expectedResults[i].Words;
                var expecptedCount = expectedResults[i].Countable;

                var actualWord  = results[i].Words;
                var actualCount = results[i].Countable;

                Assert.Equal(expectedWord, actualWord);
                Assert.Equal(expecptedCount, actualCount);
            }
        }
Exemple #2
0
        public void TestSubstring_ThaiWithEnglishWithNumber(string input)
        {
            var expected = new List <string>
            {
                input
            };

            var tokenizer = new ThaiTokenizer();
            var results   = tokenizer.SubThaiString(input, input.Length);

            Verify(input, expected, results);
        }
Exemple #3
0
        public void Test1()
        {
            var input    = "ปลาที่ใหญ่ที่สุดในโลกคือปารีสชุบแป้งทอด";
            var expected = GlobalExpectedResult.GetExpectedResult1();

            var options = new TokenizerOptions {
                MatchingMode = MatchingMode.Longest
            };
            var tokenizer = new ThaiTokenizer(options);

            Verify(tokenizer, input, expected);
        }
        public void TestSubThaiString_SupportSpaceAndEnglish(string input)
        {
            var tokenizer = new ThaiTokenizer();
            var results   = tokenizer.SubThaiString(input, 50);

            var expected = new List <string>
            {
                input
            };

            Verify(input, expected, results);
        }
        public void SubThaiStringTest6(int length, string input, params string[] expected)
        {
            var tokenizer = new ThaiTokenizer();
            var results   = tokenizer.SubThaiString(input, length);

            var index = 0;

            results.ForEach(x =>
            {
                Assert.Equal(expected[index], x);
                index++;
            });
        }
Exemple #6
0
        public void Test2()
        {
            var input    = "เจริญ";
            var expected = new List <string> {
                "เจริญ"
            };

            var options = new TokenizerOptions {
                MatchingMode = MatchingMode.Shortest, PreferDecodableWord = true
            };
            var tokenizer = new ThaiTokenizer(options);

            Verify(tokenizer, input, expected);
        }
        public void TestSubThaiString2()
        {
            var tokenizer = new ThaiTokenizer();
            var input     = "ปลาที่ใหญ่ที่สุดในโลกคือปารีสชุบแป้งทอด";
            var results   = tokenizer.SubThaiString(input, 20);

            var expected = new List <string>
            {
                "ปลาที่ใหญ่ที่สุดในโลกคือ",
                "ปารีสชุบแป้งทอด"
            };

            Verify(input, expected, results);
        }
        public virtual void Verify(ThaiTokenizer tokenizer, string input, List <string> expected)
        {
            var results = tokenizer.Split(input);

            Console.WriteLine("==============");
            Console.WriteLine("input = {0}", input);
            Console.WriteLine("expected = [{0}]", string.Join('|', expected));
            Console.WriteLine("result = [{0}]", string.Join('|', results));

            for (int i = 0; i < results.Count; i++)
            {
                Assert.Equal(expected[i], results[i]);
            }
        }
        public void TestSubThaiStringAndCount()
        {
            var input = "ถ้าหากรักนี้ ไม่บอกไม่พูดไม่กล่าว แล้วเขาจะรู้ว่ารักหรือเปล่า";

            var tokenizer = new ThaiTokenizer();
            var results   = tokenizer.SubThaiStringAndCount(input).ToList();

            var expectedList    = 1;
            var expectedCount   = 45;
            var expectedUncount = 16;

            Assert.Equal(expectedList, results.Count);
            Assert.Equal(expectedCount, results[0].Countable);
            Assert.Equal(expectedUncount, results[0].Uncountable);
        }
        public void SubThaiStringTest2(int length)
        {
            var input    = "สบายมาก";
            var expected = GlobalExpectedResult.GetExpectedResult3();

            var tokenizer = new ThaiTokenizer();
            var results   = tokenizer.SubThaiString(input, length);

            var index = 0;

            results.ForEach(x =>
            {
                Assert.Equal(expected[index], x);
                index++;
            });
        }
        public void TestSubThaiString_RemoveSpace()
        {
            var appendDics = new List <string> {
                "พุทธัง", "ธัมมัง", "สังฆัง", "อาราธนานัง"
            };
            var tokenizer = new ThaiTokenizer(appendDics);
            var input     = "พุทธังอาราธนานัง ธัมมังอาราธนานัง สังฆังอาราธนานัง";
            var results   = tokenizer.SubThaiString(input, 50);

            var expected = new List <string>
            {
                "พุทธังอาราธนานัง ธัมมังอาราธนานัง สังฆังอาราธนานัง"
            };

            Verify(input, expected, results);
        }
        public void SubThaiStringTest1()
        {
            var input    = "ค่าธรรมเนียม บริการฝากเงินข้ามเขต จากบัญชี 111-111111-1 จำนวนเงินฝาก 20,500.00 บาท";
            var expected = new List <string> {
                input
            };

            var tokenizer = new ThaiTokenizer();
            var results   = tokenizer.SubThaiString(input, 80);

            var index = 0;

            results.ForEach(x =>
            {
                Assert.Equal(expected[index], x);
                index++;
            });
        }
        public void SubThaiStringTest5()
        {
            var input    = "สบายมาก";
            var expected = new List <string>
            {
                "สบายมาก"
            };

            var tokenizer = new ThaiTokenizer();
            var results   = tokenizer.SubThaiString(input, 7);

            var index = 0;

            results.ForEach(x =>
            {
                Assert.Equal(expected[index], x);
                index++;
            });
        }
Exemple #14
0
        public void Test4()
        {
            var appendDictionary = new List <string> {
                "หวัดดี", "หวักลี", "เชอแตม"
            };
            var tokenizer = new ThaiTokenizer(appendDictionary);
            var input     = "ฤารักฉันจะเป็นเพียงความฝัน";
            var results   = tokenizer.Split(input);

            var expected = new List <string>
            {
                "ฤา",
                "รัก",
                "ฉัน",
                "จะ",
                "เป็น",
                "เพียง",
                "ความฝัน",
            };

            Verify(input, expected, results);
        }
        public void TestSubThaiStringAndCount_CheckLength()
        {
            var input = "ถ้าหากรักนี้ ไม่บอกไม่พูดไม่กล่าว แล้วเขาจะรู้ว่ารักหรือเปล่า";

            var tokenizer = new ThaiTokenizer();
            var results   = tokenizer.SubThaiStringAndCount(input, 24).ToList();

            var expectedResults = new List <int> {
                24, 21
            };

            Assert.Equal(expectedResults.Count, results.Count);

            for (var i = 0; i < expectedResults.Count; i++)
            {
                var expecptedCount = expectedResults[i];

                var actualWord  = results[i].Words;
                var actualCount = results[i].Countable;

                Assert.Equal(expecptedCount, actualCount);
            }
        }
Exemple #16
0
        public void Test2()
        {
            var appendDics = new List <string> {
                "พุทธัง", "ธัมมัง", "สังฆัง", "อาราธนานัง"
            };
            var tokenizer = new ThaiTokenizer(appendDics);
            var input     = "พุทธังอาราธนานัง ธัมมังอาราธนานัง สังฆังอาราธนานัง";
            var results   = tokenizer.Split(input);

            var expected = new List <string>
            {
                "พุทธัง",
                "อาราธนานัง",
                " ",
                "ธัมมัง",
                "อาราธนานัง",
                " ",
                "สังฆัง",
                "อาราธนานัง"
            };

            Verify(input, expected, results);
        }
Exemple #17
0
        public void Test3()
        {
            var appendDictionary = new List <string> {
                "หวัดดี", "หวักลี", "เชอแตม"
            };
            var tokenizer = new ThaiTokenizer(appendDictionary);
            var input     = "หวักลีหวัดดีปลาที่ใหญ่ที่สุดในโลกคือปารีสชุบแป้งทอดเชอแตม";
            var results   = tokenizer.Split(input);

            var expected0 = new List <string> {
                "หวักลี", "หวัดดี"
            };
            var expected1 = GlobalExpectedResult.GetExpectedResult1();
            var expected2 = new List <string> {
                "เชอแตม"
            };

            var expected = expected0;

            expected.AddRange(expected1);
            expected.AddRange(expected2);

            Verify(input, expected, results);
        }
        public virtual void Verify(string input, List <string> expected, MatchingMode matchingMode = MatchingMode.Longest)
        {
            var tokenizer = new ThaiTokenizer(matchingMode: matchingMode);

            Verify(tokenizer, input, expected);
        }