Example #1
0
        public void Ctor_with_empty_string_makes_full_range()
        {
            var range = new PostalCodeRange(null, null);

            Assert.AreEqual(null, range.Start);
            Assert.AreEqual(null, range.End);
        }
Example #2
0
        public void AreOverlapping_1()
        {
            var left  = new PostalCodeRange(new DefaultPostalCode("1000"), new DefaultPostalCode("2000"));
            var right = new PostalCodeRange(new DefaultPostalCode("1500"), new DefaultPostalCode("2500"));

            Assert.IsTrue(PostalCodeRange.AreOverlapping(left, right));
        }
Example #3
0
        public void EquivalentDefaults_CompareEqual(
            [ValueSource("DefaultPostalCodeRangeEquivalencyClass")] PostalCodeRange left,
            [ValueSource("DefaultPostalCodeRangeEquivalencyClass")] PostalCodeRange right)
        {
            var actual = left.CompareTo(right);

            Assert.That(actual, Is.EqualTo(0));
        }
Example #4
0
        public void Substract_WorksForAllCases(
            PostalCodeRange baseRange,
            PostalCodeRange toSubstract,
            IEnumerable <PostalCodeRange> expected)
        {
            var actual = PostalCodeRange.Substract(baseRange, toSubstract);

            Assert.That(actual, Is.EquivalentTo(expected));
        }
Example #5
0
        public void GetHashCode_returns_equal_for_Equal_PostalCodeRanges(
            PostalCode start,
            PostalCode end)
        {
            var r1 = new PostalCodeRange(start, end);
            var r2 = new PostalCodeRange(start, end);

            Assert.AreEqual(r1.GetHashCode(), r2.GetHashCode());
        }
Example #6
0
        public void EquivalentDefaults_HaveSameHashCode(
            [ValueSource("DefaultPostalCodeRangeEquivalencyClass")] PostalCodeRange left,
            [ValueSource("DefaultPostalCodeRangeEquivalencyClass")] PostalCodeRange right)
        {
            var leftHc  = left.GetHashCode();
            var rightHc = right.GetHashCode();

            Assert.That(leftHc, Is.EqualTo(rightHc));
        }
Example #7
0
        public void WithBritishZipCode_ReturnsTrueIfFormatMatchedAndCodesAreContained()
        {
            var cFactory  = new CountryFactory(new IsoCountryCodeValidator());
            var pcFactory = new PostalCodeFactory();
            var country   = cFactory.CreateCountry("GB");
            var right     = new PostalCodeRange(pcFactory.CreatePostalCode(country, "AA9 9AA"), pcFactory.CreatePostalCode(country, "BB9 9AA"));
            var left      = new PostalCodeRange(pcFactory.CreatePostalCode(country, "AA9 9AA"), pcFactory.CreatePostalCode(country, "CC9 9AA"));

            Assert.IsTrue(PostalCodeRange.Contains(left, right));
        }
Example #8
0
        public void Ctor_with_args_sets_start_and_end()
        {
            var start = new DefaultPostalCode("12345");
            var end   = new DefaultPostalCode("67890");

            var range = new PostalCodeRange(start, end);

            Assert.AreEqual(start, range.Start);
            Assert.AreEqual(end, range.End);
        }
Example #9
0
        public void WithBritishZipCode_ReturnsFalseIfFormatsSameLengthButDifferentFormat()
        {
            var cFactory  = new CountryFactory(new IsoCountryCodeValidator());
            var pcFactory = new PostalCodeFactory();
            var country   = cFactory.CreateCountry("GB");
            var right     = new PostalCodeRange(pcFactory.CreatePostalCode(country, "A99 9AA"), pcFactory.CreatePostalCode(country, "B99 9AA"));
            var left      = new PostalCodeRange(pcFactory.CreatePostalCode(country, "AA9 9AA"), pcFactory.CreatePostalCode(country, "CC9 9AA"));

            Assert.IsFalse(PostalCodeRange.Contains(left, right));
        }
        public void Ctor_with_args_sets_start_and_end()
        {
            var start = new DefaultPostalCode("12345");
            var end = new DefaultPostalCode("67890");

            var range = new PostalCodeRange(start, end);

            Assert.AreEqual(start, range.Start);
            Assert.AreEqual(end, range.End);
        }
Example #11
0
        public void RangeExpandedCorrectly(string c, string a, string b, string expectedLeft, string expectedRight)
        {
            Country country = CountryFactory.Instance.CreateCountry(c);
            var     left    = PostalCodeFactory.Instance.CreatePostalCode(country, a);
            var     right   = PostalCodeFactory.Instance.CreatePostalCode(country, b);

            var range = new PostalCodeRange(left.ExpandPostalCodeAsLowestInRange(), right.ExpandPostalCodeAsHighestInRange());

            Assert.AreEqual(range.Start.ToString(), expectedLeft);
            Assert.AreEqual(range.End.ToString(), expectedRight);
        }
 public int IComparable_CompareTo_compares_starts_then_ends(
     PostalCodeRange range,
     PostalCodeRange other)
 {
     return Math.Sign((range as IComparable).CompareTo(other));
 }
 public bool IEquatable_PostalCodeRange_Equals_uses_value_semantics(
     PostalCodeRange left,
     PostalCodeRange right)
 {
     return left.Equals(right);
 }
Example #14
0
 public bool AreOverlapping_compares_full_range(
     PostalCodeRange left,
     PostalCodeRange right)
 {
     return(PostalCodeRange.AreOverlapping(left, right));
 }
Example #15
0
 public bool Contains_WithPostalCode_WhenContained_ReturnsTrue(
     PostalCodeRange range,
     PostalCode pc)
 {
     return(PostalCodeRange.Contains(range, pc));
 }
 public bool AreOverlapping_compares_full_range(
     PostalCodeRange left,
     PostalCodeRange right)
 {
     return PostalCodeRange.AreOverlapping(left, right);
 }
        public void AreOverlapping_1()
        {
            var left = new PostalCodeRange(new DefaultPostalCode("1000"), new DefaultPostalCode("2000"));
            var right = new PostalCodeRange(new DefaultPostalCode("1500"), new DefaultPostalCode("2500"));

            Assert.IsTrue(PostalCodeRange.AreOverlapping(left, right));
        }
Example #18
0
 public void EquivalentDefaults_AreEqual(
     [ValueSource("DefaultPostalCodeRangeEquivalencyClass")] PostalCodeRange left,
     [ValueSource("DefaultPostalCodeRangeEquivalencyClass")] PostalCodeRange right)
 {
     Assert.That(left, Is.EqualTo(right));
 }
 public bool Operator_GreaterThan_ComparesInsideRangesAsSmaller(
     PostalCodeRange left,
     PostalCodeRange right)
 {
     return left > right;
 }
Example #20
0
 public int IComparable_CompareTo_compares_starts_then_ends(
     PostalCodeRange range,
     PostalCodeRange other)
 {
     return(Math.Sign((range as IComparable).CompareTo(other)));
 }
Example #21
0
 public void ToString_succeeds(PostalCodeRange range)
 {
     Assert.NotNull(range.ToString());
 }
Example #22
0
 public bool Operator_GreaterThanOrEqual(PostalCodeRange left, PostalCodeRange right)
 {
     return(left >= right);
 }
Example #23
0
 public bool CoincidesWith_compares_full_range(PostalCodeRange left, PostalCodeRange right)
 {
     return(PostalCodeRange.AreCoincident(left, right));
 }
Example #24
0
 public bool IEquatable_PostalCodeRange_Equals_uses_value_semantics(
     PostalCodeRange left,
     PostalCodeRange right)
 {
     return(left.Equals(right));
 }
 public bool Contains_WhenContained_ReturnsTrue(
     PostalCodeRange outer,
     PostalCodeRange inner)
 {
     return PostalCodeRange.Contains(outer, inner);
 }
 public void WithBritishZipCode_ReturnsTrueIfFormatMatchedAndCodesAreContained()
 {
     var cFactory = new CountryFactory(new IsoCountryCodeValidator());
     var pcFactory = new PostalCodeFactory();
     var country = cFactory.CreateCountry("GB");
     var right = new PostalCodeRange(pcFactory.CreatePostalCode(country, "AA9 9AA"), pcFactory.CreatePostalCode(country, "BB9 9AA"));
     var left = new PostalCodeRange(pcFactory.CreatePostalCode(country, "AA9 9AA"), pcFactory.CreatePostalCode(country, "CC9 9AA"));
     Assert.IsTrue(PostalCodeRange.Contains(left, right));
 }
 public bool Object_Equals_uses_value_semantics(
     PostalCodeRange left,
     object right)
 {
     return left.Equals(right);
 }
        public void Resect_WorksForAllCases(
            PostalCodeRange baseRange,
            PostalCodeRange toResect,
            IEnumerable<PostalCodeRange> expected)
        {
            var actual = PostalCodeRange.Resect(baseRange, toResect);

            Assert.That(actual, Is.EquivalentTo(expected));
        }
 public bool Operator_LessThanOrEqual_ComparesInsideRangesAsSmaller(
     PostalCodeRange left,
     PostalCodeRange right)
 {
     return left <= right;
 }
 public void Ctor_with_empty_string_makes_full_range()
 {
     var range = new PostalCodeRange(null, null);
     Assert.AreEqual(null, range.Start);
     Assert.AreEqual(null, range.End);
 }
 public bool CoincidesWith_compares_full_range(PostalCodeRange left, PostalCodeRange right)
 {
     return PostalCodeRange.AreCoincident(left, right);
 }
Example #32
0
 public bool Object_Equals_uses_value_semantics(
     PostalCodeRange left,
     object right)
 {
     return(left.Equals(right));
 }
 public bool Operator_LessThanOrEqual_ComparesInsideRangesAsSmaller(
     PostalCodeRange left,
     PostalCodeRange right)
 {
     return(left <= right);
 }
Example #34
0
 public bool Operator_LessThanOrEqual(PostalCodeRange left, PostalCodeRange right)
 {
     return(left <= right);
 }
 public void ToString_succeeds(PostalCodeRange range)
 {
     Assert.NotNull(range.ToString());
 }
Example #36
0
 public void EquivalentDefaults_HaveIsDefaultSet(
     [ValueSource("DefaultPostalCodeRangeEquivalencyClass")] PostalCodeRange range)
 {
     Assert.That(range.IsDefault, Is.True);
 }
 public void GetHashCode_returns_equal_for_Equal_PostalCodeRanges(
     PostalCode start,
     PostalCode end)
 {
     var r1 = new PostalCodeRange(start, end);
     var r2 = new PostalCodeRange(start, end);
     Assert.AreEqual(r1.GetHashCode(), r2.GetHashCode());
 }
 public void WithBritishZipCode_ReturnsFalseIfFormatsSameLengthButDifferentFormat()
 {
     var cFactory = new CountryFactory(new IsoCountryCodeValidator());
     var pcFactory = new PostalCodeFactory();
     var country = cFactory.CreateCountry("GB");
     var right = new PostalCodeRange(pcFactory.CreatePostalCode(country, "A99 9AA"), pcFactory.CreatePostalCode(country, "B99 9AA"));
     var left = new PostalCodeRange(pcFactory.CreatePostalCode(country, "AA9 9AA"), pcFactory.CreatePostalCode(country, "CC9 9AA"));
     Assert.IsFalse(PostalCodeRange.Contains(left, right));
 }
 public bool Operator_GreaterThan_ComparesInsideRangesAsSmaller(
     PostalCodeRange left,
     PostalCodeRange right)
 {
     return(left > right);
 }
Example #40
0
 public bool Contains_WhenContained_ReturnsTrue(
     PostalCodeRange outer,
     PostalCodeRange inner)
 {
     return(PostalCodeRange.Contains(outer, inner));
 }