Пример #1
0
        void AssertSame(
            string a,
            string b,
            SameAsOptions options = SameAsOptions.None)
        {
            var first  = Normalize(a);
            var second = Normalize(b);

            Assert.IsTrue(first.SameAs(second, options));
        }
Пример #2
0
 public bool SameAs(Address other, SameAsOptions options = SameAsOptions.None)
 {
     return(Equals(Number, other.Number) &&
            Equals(NumberFraction, other.NumberFraction) &&
            Equals(DirectionalPrefix, other.DirectionalPrefix) &&
            Equals(StreetName, other.StreetName)
            // TODO: StreetType needs abbreviation check
            && Equals(StreetType, other.StreetType) &&
            Equals(DirectionalSuffix, other.DirectionalSuffix)
            // UnitType is ignored
            && Equals(UnitNumber, other.UnitNumber) &&
            (Equals(City, other.City) ||
             (options == SameAsOptions.AssumeMissingCityIsSame &&
              (string.IsNullOrWhiteSpace(City) ||
               string.IsNullOrWhiteSpace(other.City))))
            // PostalCode and PostalCodeExt are ignored by default
            && (options != SameAsOptions.ComparePostalCode ||
                Equals(PostalCode, other.PostalCode)) &&
            Equals(State, other.State));
 }