public void TestInvalidQuantityCase() { IParser p = new SimChineseQuantityParser(TestUtility.CreateParserContext("兆棵树")); ParseResultCollection prc = p.Parse(0); Assert.AreEqual(0, prc.Count); }
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); }
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); }
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); }
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); }
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); }
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); }
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"); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
ParserContext CreateParserContext(string text) { return(TestUtility.CreateParserContext(text)); }