public void TestInvalidQuantityCase()
        {
            IParser p = new SimChineseQuantityParser(TestUtility.CreateParserContext("兆棵树"));
            ParseResultCollection prc = p.Parse(0);

            Assert.AreEqual(0, prc.Count);
        }
Exemplo n.º 2
0
        public void TestParseSingleMobile()
        {
            PhoneNoParser         parser2 = new PhoneNoParser(TestUtility.CreateParserContext("+86 13482572088", ParserPattern.China));
            ParseResultCollection prc2    = parser2.Parse(0);

            Assert.AreEqual(1, prc2.Count);
            TestUtility.AssertParseResult(prc2[0], "+86 13482572088", 0, POSType.A_M);
            AssertPhoneValue(prc2[0], "86", null, "13482572088", null, true);
        }
Exemplo n.º 3
0
        public void TestParseSinglePostalCode()
        {
            IParser p = new PostalCodeParser(TestUtility.CreateParserContext("200135,哈哈", ParserPattern.China));
            ParseResultCollection prc = p.Parse(0);

            Assert.AreEqual(1, prc.Count);
            TestUtility.AssertParseResult(prc[0], "200135", 0, POSType.A_M);

            p   = new PostalCodeParser(TestUtility.CreateParserContext("21201  Baltimore          Maryland(MD)", ParserPattern.NorthAmerica));
            prc = p.Parse(0);
            Assert.AreEqual(1, prc.Count);
            TestUtility.AssertParseResult(prc[0], "21201", 0, POSType.A_M);
        }
        public void TestParseSingleQuantity()
        {
            IParser p = new SimChineseQuantityParser(TestUtility.CreateParserContext("一棵树通常有二十五根树杈。"));
            ParseResultCollection prc = p.Parse(0);

            Assert.AreEqual(2, prc.Count);
            TestUtility.AssertParseResult(prc[0], "一", 0, POSType.A_M);
            TestUtility.AssertParseResult(prc[1], "棵", 1, POSType.A_Q);

            prc = p.Parse(6);
            Assert.AreEqual(2, prc.Count);
            TestUtility.AssertParseResult(prc[0], "二十五", 6, POSType.A_M);
            TestUtility.AssertParseResult(prc[1], "根", 9, POSType.A_Q);
        }
Exemplo n.º 5
0
        public void TestParseSingleNorthAmericanPhone()
        {
            PhoneNoParser         parser = new PhoneNoParser(TestUtility.CreateParserContext("+1-415-555-2374", ParserPattern.NorthAmerica));
            ParseResultCollection prc    = parser.Parse(0);

            Assert.AreEqual(1, prc.Count);
            TestUtility.AssertParseResult(prc[0], "+1-415-555-2374", 0, POSType.A_M);
            AssertPhoneValue(prc[0], "1", "415", "555-2374", null, true);

            parser = new PhoneNoParser(TestUtility.CreateParserContext("(800) 628-1058", ParserPattern.NorthAmerica));
            prc    = parser.Parse(0);
            Assert.AreEqual(1, prc.Count);
            TestUtility.AssertParseResult(prc[0], "(800) 628-1058", 0, POSType.A_M);
            AssertPhoneValue(prc[0], null, "800", "628-1058", null, true);
        }
Exemplo n.º 6
0
        public void TestParseSingleIllegalPhone()
        {
            PhoneNoParser         parser = new PhoneNoParser(TestUtility.CreateParserContext(" ", ParserPattern.China));
            ParseResultCollection prc    = parser.Parse(0);

            Assert.AreEqual(0, prc.Count);

            parser = new PhoneNoParser(TestUtility.CreateParserContext("611212341", ParserPattern.China));
            prc    = parser.Parse(0);
            Assert.AreEqual(0, prc.Count);

            parser = new PhoneNoParser(TestUtility.CreateParserContext("2", ParserPattern.China));
            prc    = parser.Parse(0);
            Assert.AreEqual(0, prc.Count);

            parser = new PhoneNoParser(TestUtility.CreateParserContext("23", ParserPattern.China));
            prc    = parser.Parse(0);
            Assert.AreEqual(0, prc.Count);
        }
Exemplo n.º 7
0
        public void CanParseTypicalAddressWithoutPunctuationAfterStreetLine()
        {
            var parser = new USAddressParser(TestUtility.CreateParserContext("1005 N Gravenstein Highway Sebastopol, CA 95472", ParserPattern.NorthAmerica));
            ParseResultCollection prc = parser.Parse(0);

            Assert.AreEqual(1, prc.Count);
            var address = prc[0].Value as Address;

            Assert.AreEqual("SEBASTOPOL", address.City);
            Assert.AreEqual("1005", address.Number);
            Assert.AreEqual(null, address.Postdirectional);
            Assert.AreEqual("N", address.Predirectional);
            Assert.AreEqual(null, address.SecondaryNumber);
            Assert.AreEqual(null, address.SecondaryUnit);
            Assert.AreEqual("CA", address.State);
            Assert.AreEqual("GRAVENSTEIN", address.Street);
            Assert.AreEqual("1005 N GRAVENSTEIN HWY", address.StreetLine);
            Assert.AreEqual("HWY", address.Suffix);
            Assert.AreEqual("95472", address.Zip);
        }
Exemplo n.º 8
0
        public void CanParseQueensStyleAddress()
        {
            var parser = new USAddressParser(
                TestUtility.CreateParserContext("123-465 34th St New York NY 12345", ParserPattern.NorthAmerica));
            ParseResultCollection prc = parser.Parse(0);

            Assert.AreEqual(1, prc.Count);
            var address = prc[0].Value as Address;

            Assert.AreEqual("NEW YORK", address.City);
            Assert.AreEqual("123-465", address.Number);
            Assert.AreEqual(null, address.Postdirectional);
            Assert.AreEqual(null, address.Predirectional);
            Assert.AreEqual(null, address.SecondaryNumber);
            Assert.AreEqual(null, address.SecondaryUnit);
            Assert.AreEqual("NY", address.State);
            Assert.AreEqual("34TH", address.Street);
            Assert.AreEqual("123-465 34TH ST", address.StreetLine);
            Assert.AreEqual("ST", address.Suffix);
            Assert.AreEqual("12345", address.Zip);
        }
Exemplo n.º 9
0
        public void TestParseSinglePhoneWithExtension()
        {
            PhoneNoParser         parser = new PhoneNoParser(TestUtility.CreateParserContext("+86 21 62253302#302", ParserPattern.China));
            ParseResultCollection prc    = parser.Parse(0);

            Assert.AreEqual(1, prc.Count);
            TestUtility.AssertParseResult(prc[0], "+86 21 62253302#302", 0, POSType.A_M);
            AssertPhoneValue(prc[0], "86", "21", "62253302", "302");

            parser = new PhoneNoParser(TestUtility.CreateParserContext("+86 21 62253302#302", ParserPattern.China));
            prc    = parser.Parse(0);
            Assert.AreEqual(1, prc.Count);
            TestUtility.AssertParseResult(prc[0], "+86 21 62253302#302", 0, POSType.A_M);
            AssertPhoneValue(prc[0], "86", "21", "62253302", "302");

            parser = new PhoneNoParser(TestUtility.CreateParserContext("+86 21 62253302#302a", ParserPattern.China));
            prc    = parser.Parse(0);
            Assert.AreEqual(1, prc.Count);
            TestUtility.AssertParseResult(prc[0], "+86 21 62253302#302", 0, POSType.A_M);
            AssertPhoneValue(prc[0], "86", "21", "62253302", "302");
        }
Exemplo n.º 10
0
        public void CanParsePostOfficeBoxAddress()
        {
            var parser = new USAddressParser(
                TestUtility.CreateParserContext("P.O. BOX 4857, New York, NY 10001", ParserPattern.NorthAmerica));
            ParseResultCollection prc = parser.Parse(0);

            Assert.AreEqual(1, prc.Count);
            var address = prc[0].Value as Address;

            Assert.AreEqual("NEW YORK", address.City);
            Assert.AreEqual(null, address.Number);
            Assert.AreEqual(null, address.Postdirectional);
            Assert.AreEqual(null, address.Predirectional);
            Assert.AreEqual(null, address.SecondaryNumber);
            Assert.AreEqual(null, address.SecondaryUnit);
            Assert.AreEqual("NY", address.State);
            Assert.AreEqual(null, address.Street);
            Assert.AreEqual("PO BOX 4857", address.StreetLine);
            Assert.AreEqual(null, address.Suffix);
            Assert.AreEqual("10001", address.Zip);
        }
Exemplo n.º 11
0
        public void CanParseAddressWithRangelessSecondaryUnit()
        {
            var parser = new USAddressParser(
                TestUtility.CreateParserContext("1050 Broadway Penthouse, New York, NY 10001", ParserPattern.NorthAmerica));
            ParseResultCollection prc = parser.Parse(0);

            Assert.AreEqual(1, prc.Count);
            var address = prc[0].Value as Address;

            Assert.AreEqual("NEW YORK", address.City);
            Assert.AreEqual("1050", address.Number);
            Assert.AreEqual(null, address.Postdirectional);
            Assert.AreEqual(null, address.Predirectional);
            Assert.AreEqual(null, address.SecondaryNumber);
            Assert.AreEqual("PH", address.SecondaryUnit);
            Assert.AreEqual("NY", address.State);
            Assert.AreEqual("BROADWAY", address.Street);
            Assert.AreEqual("1050 BROADWAY PH", address.StreetLine);
            Assert.AreEqual(null, address.Suffix);
            Assert.AreEqual("10001", address.Zip);
        }
Exemplo n.º 12
0
        public void CanParseFractionalAddress()
        {
            var parser = new USAddressParser(
                TestUtility.CreateParserContext("123 1/2 MAIN ST, RICHMOND, VA 23221", ParserPattern.NorthAmerica));
            ParseResultCollection prc = parser.Parse(0);

            Assert.AreEqual(1, prc.Count);
            var address = prc[0].Value as Address;

            Assert.AreEqual("RICHMOND", address.City);
            Assert.AreEqual("123 1/2", address.Number);
            Assert.AreEqual(null, address.Postdirectional);
            Assert.AreEqual(null, address.Predirectional);
            Assert.AreEqual(null, address.SecondaryNumber);
            Assert.AreEqual(null, address.SecondaryUnit);
            Assert.AreEqual("VA", address.State);
            Assert.AreEqual("MAIN", address.Street);
            Assert.AreEqual("123 1/2 MAIN ST", address.StreetLine);
            Assert.AreEqual("ST", address.Suffix);
            Assert.AreEqual("23221", address.Zip);
        }
Exemplo n.º 13
0
        public void CanParseMilitaryAddress()
        {
            var parser = new USAddressParser(
                TestUtility.CreateParserContext("PSC BOX 453, APO AE 99969", ParserPattern.NorthAmerica));
            ParseResultCollection prc = parser.Parse(0);

            Assert.AreEqual(1, prc.Count);
            var address = prc[0].Value as Address;

            Assert.AreEqual("APO", address.City);
            Assert.AreEqual(null, address.Number);
            Assert.AreEqual(null, address.Postdirectional);
            Assert.AreEqual(null, address.Predirectional);
            Assert.AreEqual(null, address.SecondaryNumber);
            Assert.AreEqual(null, address.SecondaryUnit);
            Assert.AreEqual("AE", address.State);
            Assert.AreEqual(null, address.Street);
            Assert.AreEqual("PSC BOX 453", address.StreetLine);
            Assert.AreEqual(null, address.Suffix);
            Assert.AreEqual("99969", address.Zip);
        }
Exemplo n.º 14
0
        public void CanParseAddressWithCardinalStreetName()
        {
            var parser = new USAddressParser(
                TestUtility.CreateParserContext("500 SOUTH STREET VIRGINIA BEACH VIRGINIA 23452", ParserPattern.NorthAmerica));
            ParseResultCollection prc = parser.Parse(0);

            Assert.AreEqual(1, prc.Count);
            var address = prc[0].Value as Address;

            Assert.AreEqual("VIRGINIA BEACH", address.City);
            Assert.AreEqual("500", address.Number);
            Assert.AreEqual(null, address.Postdirectional);
            Assert.AreEqual(null, address.Predirectional);
            Assert.AreEqual(null, address.SecondaryNumber);
            Assert.AreEqual(null, address.SecondaryUnit);
            Assert.AreEqual("VA", address.State);
            Assert.AreEqual("SOUTH", address.Street);
            Assert.AreEqual("500 SOUTH ST", address.StreetLine);
            Assert.AreEqual("ST", address.Suffix);
            Assert.AreEqual("23452", address.Zip);
        }
Exemplo n.º 15
0
        public void CanParseAddressWithoutPunctuation()
        {
            var parser = new USAddressParser(
                TestUtility.CreateParserContext("999 West 89th Street Apt A New York NY 10024", ParserPattern.NorthAmerica));
            ParseResultCollection prc = parser.Parse(0);

            Assert.AreEqual(1, prc.Count);
            var address = prc[0].Value as Address;

            Assert.AreEqual("NEW YORK", address.City);
            Assert.AreEqual("999", address.Number);
            Assert.AreEqual(null, address.Postdirectional);
            Assert.AreEqual("W", address.Predirectional);
            Assert.AreEqual("A", address.SecondaryNumber);
            Assert.AreEqual("APT", address.SecondaryUnit);
            Assert.AreEqual("NY", address.State);
            Assert.AreEqual("89TH", address.Street);
            Assert.AreEqual("999 W 89TH ST APT A", address.StreetLine);
            Assert.AreEqual("ST", address.Suffix);
            Assert.AreEqual("10024", address.Zip);
        }
Exemplo n.º 16
0
        public void CanParseAddressWithSpacedAlphanumericRange()
        {
            var parser = new USAddressParser(
                TestUtility.CreateParserContext("N645 W23001 BLUEMOUND ROAD, ROLLING MEADOWS, IL, 12345", ParserPattern.NorthAmerica));
            ParseResultCollection prc = parser.Parse(0);

            Assert.AreEqual(1, prc.Count);
            var address = prc[0].Value as Address;

            Assert.AreEqual("ROLLING MEADOWS", address.City);
            Assert.AreEqual("N645W23001", address.Number);
            Assert.AreEqual(null, address.Postdirectional);
            Assert.AreEqual(null, address.Predirectional);
            Assert.AreEqual(null, address.SecondaryNumber);
            Assert.AreEqual(null, address.SecondaryUnit);
            Assert.AreEqual("IL", address.State);
            Assert.AreEqual("BLUEMOUND", address.Street);
            Assert.AreEqual("N645W23001 BLUEMOUND RD", address.StreetLine);
            Assert.AreEqual("RD", address.Suffix);
            Assert.AreEqual("12345", address.Zip);
        }
Exemplo n.º 17
0
        public void CanParseGridStyleAddress()
        {
            var parser = new USAddressParser(
                TestUtility.CreateParserContext("842 E 1700 S, Salt Lake City, UT 84105", ParserPattern.NorthAmerica));
            ParseResultCollection prc = parser.Parse(0);

            Assert.AreEqual(1, prc.Count);
            var address = prc[0].Value as Address;

            Assert.AreEqual("SALT LAKE CITY", address.City);
            Assert.AreEqual("842", address.Number);
            Assert.AreEqual("S", address.Postdirectional);
            Assert.AreEqual("E", address.Predirectional);
            Assert.AreEqual(null, address.SecondaryNumber);
            Assert.AreEqual(null, address.SecondaryUnit);
            Assert.AreEqual("UT", address.State);
            Assert.AreEqual("1700", address.Street);
            Assert.AreEqual("842 E 1700 S", address.StreetLine);
            Assert.AreEqual(null, address.Suffix);
            Assert.AreEqual("84105", address.Zip);
        }
Exemplo n.º 18
0
        public void CanParseAddressWithRangedUnitAttachedToNumber()
        {
            var parser = new USAddressParser(
                TestUtility.CreateParserContext("403D BERRYFIELD LANE CHESAPEAKE VA 23224", ParserPattern.NorthAmerica));
            ParseResultCollection prc = parser.Parse(0);

            Assert.AreEqual(1, prc.Count);
            var address = prc[0].Value as Address;

            Assert.AreEqual("CHESAPEAKE", address.City);
            Assert.AreEqual("403", address.Number);
            Assert.AreEqual(null, address.Postdirectional);
            Assert.AreEqual(null, address.Predirectional);
            Assert.AreEqual("D", address.SecondaryNumber);
            Assert.AreEqual("APT", address.SecondaryUnit);
            Assert.AreEqual("VA", address.State);
            Assert.AreEqual("BERRYFIELD", address.Street);
            Assert.AreEqual("403 BERRYFIELD LN APT D", address.StreetLine);
            Assert.AreEqual("LN", address.Suffix);
            Assert.AreEqual("23224", address.Zip);
        }
Exemplo n.º 19
0
        public void TestParseSinglePhone()
        {
            PhoneNoParser         parser = new PhoneNoParser(TestUtility.CreateParserContext("(021)6655 2433", ParserPattern.China));
            ParseResultCollection prc    = parser.Parse(0);

            Assert.AreEqual(1, prc.Count);
            TestUtility.AssertParseResult(prc[0], "(021)6655 2433", 0, POSType.A_M);
            AssertPhoneValue(prc[0], null, "021", "6655 2433", null);

            parser = new PhoneNoParser(TestUtility.CreateParserContext("021-64393615", ParserPattern.China));
            prc    = parser.Parse(0);
            Assert.AreEqual(1, prc.Count);
            TestUtility.AssertParseResult(prc[0], "021-64393615", 0, POSType.A_M);
            AssertPhoneValue(prc[0], null, "021", "64393615", null);

            PhoneNoParser         parser2 = new PhoneNoParser(TestUtility.CreateParserContext("+86 21 6225 3302", ParserPattern.China));
            ParseResultCollection prc2    = parser2.Parse(0);

            Assert.AreEqual(1, prc2.Count);
            TestUtility.AssertParseResult(prc2[0], "+86 21 6225 3302", 0, POSType.A_M);
            AssertPhoneValue(prc2[0], "86", "21", "6225 3302", null);

            parser2 = new PhoneNoParser(TestUtility.CreateParserContext("电话号码:62253302", ParserPattern.China));
            prc2    = parser2.Parse(0);
            Assert.AreEqual(0, prc2.Count);

            prc2 = parser2.Parse(5);
            Assert.AreEqual(1, prc2.Count);
            TestUtility.AssertParseResult(prc2[0], "62253302", 5, POSType.A_M);
            AssertPhoneValue(prc2[0], null, null, "62253302", null);

            parser2 = new PhoneNoParser(TestUtility.CreateParserContext("13566223388(手机)", ParserPattern.China));
            prc2    = parser2.Parse(0);
            Assert.AreEqual(1, prc2.Count);
            TestUtility.AssertParseResult(prc2[0], "13566223388", 0, POSType.A_M);
        }
Exemplo n.º 20
0
 ParserContext CreateParserContext(string text)
 {
     return(TestUtility.CreateParserContext(text));
 }