public void TestIsNumberMatchMatches()
        {
            // Test simple matches where formatting is different, or leading zeroes, or country calling code
            // has been specified.
            Assert.AreEqual(PhoneNumberUtil.MatchType.EXACT_MATCH,
                phoneUtil.IsNumberMatch("+64 3 331 6005", "+64 03 331 6005"));
            Assert.AreEqual(PhoneNumberUtil.MatchType.EXACT_MATCH,
                 phoneUtil.IsNumberMatch("+800 1234 5678", "+80012345678"));
            Assert.AreEqual(PhoneNumberUtil.MatchType.EXACT_MATCH,
                phoneUtil.IsNumberMatch("+64 03 331-6005", "+64 03331 6005"));
            Assert.AreEqual(PhoneNumberUtil.MatchType.EXACT_MATCH,
                phoneUtil.IsNumberMatch("+643 331-6005", "+64033316005"));
            Assert.AreEqual(PhoneNumberUtil.MatchType.EXACT_MATCH,
                phoneUtil.IsNumberMatch("+643 331-6005", "+6433316005"));
            Assert.AreEqual(PhoneNumberUtil.MatchType.EXACT_MATCH,
                phoneUtil.IsNumberMatch("+64 3 331-6005", "+6433316005"));
            Assert.AreEqual(PhoneNumberUtil.MatchType.EXACT_MATCH,
                 phoneUtil.IsNumberMatch("+64 3 331-6005", "tel:+64-3-331-6005;isub=123"));
            // Test alpha numbers.
            Assert.AreEqual(PhoneNumberUtil.MatchType.EXACT_MATCH,
                phoneUtil.IsNumberMatch("+1800 siX-Flags", "+1 800 7493 5247"));
            // Test numbers with extensions.
            Assert.AreEqual(PhoneNumberUtil.MatchType.EXACT_MATCH,
                phoneUtil.IsNumberMatch("+64 3 331-6005 extn 1234", "+6433316005#1234"));
            // Test proto buffers.
            Assert.AreEqual(PhoneNumberUtil.MatchType.EXACT_MATCH,
                phoneUtil.IsNumberMatch(NZ_NUMBER, "+6403 331 6005"));

            PhoneNumber nzNumber = new PhoneNumber.Builder().MergeFrom(NZ_NUMBER).SetExtension("3456").Build();
            Assert.AreEqual(PhoneNumberUtil.MatchType.EXACT_MATCH,
                phoneUtil.IsNumberMatch(nzNumber, "+643 331 6005 ext 3456"));
            // Check empty extensions are ignored.
            nzNumber = Update(nzNumber).SetExtension("").Build();
            Assert.AreEqual(PhoneNumberUtil.MatchType.EXACT_MATCH,
                phoneUtil.IsNumberMatch(nzNumber, "+6403 331 6005"));
            // Check variant with two proto buffers.
            Assert.AreEqual(
                PhoneNumberUtil.MatchType.EXACT_MATCH,
                phoneUtil.IsNumberMatch(nzNumber, NZ_NUMBER),
                "Number " + nzNumber.ToString() + " did not match " + NZ_NUMBER.ToString());

            // Check raw_input, country_code_source and preferred_domestic_carrier_code are ignored.
            PhoneNumber brNumberOne = new PhoneNumber.Builder()
                .SetCountryCode(55).SetNationalNumber(3121286979L)
                .SetCountryCodeSource(PhoneNumber.Types.CountryCodeSource.FROM_NUMBER_WITH_PLUS_SIGN)
                .SetPreferredDomesticCarrierCode("12").SetRawInput("012 3121286979").Build();
            PhoneNumber brNumberTwo = new PhoneNumber.Builder()
                .SetCountryCode(55).SetNationalNumber(3121286979L)
                .SetCountryCodeSource(PhoneNumber.Types.CountryCodeSource.FROM_DEFAULT_COUNTRY)
                .SetPreferredDomesticCarrierCode("14").SetRawInput("143121286979").Build();
            Assert.AreEqual(PhoneNumberUtil.MatchType.EXACT_MATCH,
                phoneUtil.IsNumberMatch(brNumberOne, brNumberTwo));
        }