From b712502b03193cf9d219a4c052bf271c2165794e Mon Sep 17 00:00:00 2001 From: Keghani Kouzoujian Date: Thu, 8 Jun 2017 11:21:00 +0200 Subject: [PATCH] Update matcher tests (#1778) --- cpp/test/phonenumbers/matcher_test.cc | 57 ++++++++++++------- .../phonenumbers/internal/MatcherTest.java | 28 +++++++-- 2 files changed, 58 insertions(+), 27 deletions(-) diff --git a/cpp/test/phonenumbers/matcher_test.cc b/cpp/test/phonenumbers/matcher_test.cc index 17446f425..5d7fab890 100644 --- a/cpp/test/phonenumbers/matcher_test.cc +++ b/cpp/test/phonenumbers/matcher_test.cc @@ -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); diff --git a/java/libphonenumber/test/com/google/i18n/phonenumbers/internal/MatcherTest.java b/java/libphonenumber/test/com/google/i18n/phonenumbers/internal/MatcherTest.java index 97b965981..822f40dcc 100644 --- a/java/libphonenumber/test/com/google/i18n/phonenumbers/internal/MatcherTest.java +++ b/java/libphonenumber/test/com/google/i18n/phonenumbers/internal/MatcherTest.java @@ -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(); } }