Browse Source

Update matcher tests (#1778)

pull/1780/merge
Keghani Kouzoujian 9 years ago
committed by GitHub
parent
commit
b712502b03
2 changed files with 58 additions and 27 deletions
  1. +36
    -21
      cpp/test/phonenumbers/matcher_test.cc
  2. +22
    -6
      java/libphonenumber/test/com/google/i18n/phonenumbers/internal/MatcherTest.java

+ 36
- 21
cpp/test/phonenumbers/matcher_test.cc View File

@ -29,29 +29,45 @@ namespace phonenumbers {
namespace {
void ExpectMatched(
const MatcherApi& matcher,
const string& number,
const PhoneNumberDesc& desc) {
EXPECT_TRUE(matcher.MatchNationalNumber(number, desc, false));
EXPECT_TRUE(matcher.MatchNationalNumber(number, desc, true));
string ToString(const PhoneNumberDesc& desc) {
string str = "pattern: ";
if (desc.has_national_number_pattern()) {
str += desc.national_number_pattern();
} else {
str += "none";
}
return str;
}
void ExpectInvalid(
const MatcherApi& matcher,
const string& number,
const PhoneNumberDesc& desc) {
EXPECT_FALSE(matcher.MatchNationalNumber(number, desc, false));
EXPECT_FALSE(matcher.MatchNationalNumber(number, desc, true));
}
void ExpectMatched(
const MatcherApi& matcher,
const string& number,
const PhoneNumberDesc& desc) {
EXPECT_TRUE(matcher.MatchNationalNumber(number, desc, false))
<< number << " should have matched " << ToString(desc);
EXPECT_TRUE(matcher.MatchNationalNumber(number, desc, true))
<< number << " should have matched " << ToString(desc);
}
void ExpectTooLong(
const MatcherApi& matcher,
const string& number,
const PhoneNumberDesc& desc) {
EXPECT_FALSE(matcher.MatchNationalNumber(number, desc, false));
EXPECT_TRUE(matcher.MatchNationalNumber(number, desc, true));
}
void ExpectInvalid(
const MatcherApi& matcher,
const string& number,
const PhoneNumberDesc& desc) {
EXPECT_FALSE(matcher.MatchNationalNumber(number, desc, false))
<< number << " should not have matched " << ToString(desc);
EXPECT_FALSE(matcher.MatchNationalNumber(number, desc, true))
<< number << " should not have matched " << ToString(desc);
}
void ExpectTooLong(
const MatcherApi& matcher,
const string& number,
const PhoneNumberDesc& desc) {
EXPECT_FALSE(matcher.MatchNationalNumber(number, desc, false))
<< number << " should have been too long for " << ToString(desc);
EXPECT_TRUE(matcher.MatchNationalNumber(number, desc, true))
<< number << " should have been too long for " << ToString(desc);
}
} // namespace
@ -64,7 +80,6 @@ class MatcherTest : public testing::Test {
// Test if there is no matcher data.
ExpectInvalid(matcher, "1", desc);
// Matcher data generated by MatcherCompiler.
desc = CreateDesc("9\\d{2}");
ExpectInvalid(matcher, "91", desc);
ExpectInvalid(matcher, "81", desc);


+ 22
- 6
java/libphonenumber/test/com/google/i18n/phonenumbers/internal/MatcherTest.java View File

@ -68,17 +68,33 @@ public class MatcherTest extends TestCase {
}
private void assertMatched(MatcherApi matcher, String number, PhoneNumberDesc desc) {
assertTrue(matcher.matchNationalNumber(number, desc, false));
assertTrue(matcher.matchNationalNumber(number, desc, true));
assertTrue(String.format("%s should have matched %s.", number, toString(desc)),
matcher.matchNationalNumber(number, desc, false));
assertTrue(String.format("%s should have matched %s.", number, toString(desc)),
matcher.matchNationalNumber(number, desc, true));
}
private void assertInvalid(MatcherApi matcher, String number, PhoneNumberDesc desc) {
assertFalse(matcher.matchNationalNumber(number, desc, false));
assertFalse(matcher.matchNationalNumber(number, desc, true));
assertFalse(String.format("%s should not have matched %s.", number, toString(desc)),
matcher.matchNationalNumber(number, desc, false));
assertFalse(String.format("%s should not have matched %s.", number, toString(desc)),
matcher.matchNationalNumber(number, desc, true));
}
private void assertTooLong(MatcherApi matcher, String number, PhoneNumberDesc desc) {
assertFalse(matcher.matchNationalNumber(number, desc, false));
assertTrue(matcher.matchNationalNumber(number, desc, true));
assertFalse(String.format("%s should have been too long for %s.", number, toString(desc)),
matcher.matchNationalNumber(number, desc, false));
assertTrue(String.format("%s should have been too long for %s.", number, toString(desc)),
matcher.matchNationalNumber(number, desc, true));
}
private String toString(PhoneNumberDesc desc) {
StringBuilder strBuilder = new StringBuilder("pattern: ");
if (desc.hasNationalNumberPattern()) {
strBuilder.append(desc.getNationalNumberPattern());
} else {
strBuilder.append("none");
}
return strBuilder.toString();
}
}

Loading…
Cancel
Save