コード例 #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);
        }
コード例 #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));
        }
コード例 #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));
        }
コード例 #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));
        }
コード例 #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());
        }
コード例 #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));
        }
コード例 #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));
        }
コード例 #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);
        }
コード例 #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));
        }
コード例 #10
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);
        }
コード例 #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);
        }
コード例 #12
0
 public int IComparable_CompareTo_compares_starts_then_ends(
     PostalCodeRange range,
     PostalCodeRange other)
 {
     return Math.Sign((range as IComparable).CompareTo(other));
 }
コード例 #13
0
 public bool IEquatable_PostalCodeRange_Equals_uses_value_semantics(
     PostalCodeRange left,
     PostalCodeRange right)
 {
     return left.Equals(right);
 }
コード例 #14
0
 public bool AreOverlapping_compares_full_range(
     PostalCodeRange left,
     PostalCodeRange right)
 {
     return(PostalCodeRange.AreOverlapping(left, right));
 }
コード例 #15
0
 public bool Contains_WithPostalCode_WhenContained_ReturnsTrue(
     PostalCodeRange range,
     PostalCode pc)
 {
     return(PostalCodeRange.Contains(range, pc));
 }
コード例 #16
0
 public bool AreOverlapping_compares_full_range(
     PostalCodeRange left,
     PostalCodeRange right)
 {
     return PostalCodeRange.AreOverlapping(left, right);
 }
コード例 #17
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));
        }
コード例 #18
0
 public void EquivalentDefaults_AreEqual(
     [ValueSource("DefaultPostalCodeRangeEquivalencyClass")] PostalCodeRange left,
     [ValueSource("DefaultPostalCodeRangeEquivalencyClass")] PostalCodeRange right)
 {
     Assert.That(left, Is.EqualTo(right));
 }
コード例 #19
0
 public bool Operator_GreaterThan_ComparesInsideRangesAsSmaller(
     PostalCodeRange left,
     PostalCodeRange right)
 {
     return left > right;
 }
コード例 #20
0
 public int IComparable_CompareTo_compares_starts_then_ends(
     PostalCodeRange range,
     PostalCodeRange other)
 {
     return(Math.Sign((range as IComparable).CompareTo(other)));
 }
コード例 #21
0
 public void ToString_succeeds(PostalCodeRange range)
 {
     Assert.NotNull(range.ToString());
 }
コード例 #22
0
 public bool Operator_GreaterThanOrEqual(PostalCodeRange left, PostalCodeRange right)
 {
     return(left >= right);
 }
コード例 #23
0
 public bool CoincidesWith_compares_full_range(PostalCodeRange left, PostalCodeRange right)
 {
     return(PostalCodeRange.AreCoincident(left, right));
 }
コード例 #24
0
 public bool IEquatable_PostalCodeRange_Equals_uses_value_semantics(
     PostalCodeRange left,
     PostalCodeRange right)
 {
     return(left.Equals(right));
 }
コード例 #25
0
 public bool Contains_WhenContained_ReturnsTrue(
     PostalCodeRange outer,
     PostalCodeRange inner)
 {
     return PostalCodeRange.Contains(outer, inner);
 }
コード例 #26
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));
 }
コード例 #27
0
 public bool Object_Equals_uses_value_semantics(
     PostalCodeRange left,
     object right)
 {
     return left.Equals(right);
 }
コード例 #28
0
        public void Resect_WorksForAllCases(
            PostalCodeRange baseRange,
            PostalCodeRange toResect,
            IEnumerable<PostalCodeRange> expected)
        {
            var actual = PostalCodeRange.Resect(baseRange, toResect);

            Assert.That(actual, Is.EquivalentTo(expected));
        }
コード例 #29
0
 public bool Operator_LessThanOrEqual_ComparesInsideRangesAsSmaller(
     PostalCodeRange left,
     PostalCodeRange right)
 {
     return left <= right;
 }
コード例 #30
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);
 }
コード例 #31
0
 public bool CoincidesWith_compares_full_range(PostalCodeRange left, PostalCodeRange right)
 {
     return PostalCodeRange.AreCoincident(left, right);
 }
コード例 #32
0
 public bool Object_Equals_uses_value_semantics(
     PostalCodeRange left,
     object right)
 {
     return(left.Equals(right));
 }
コード例 #33
0
 public bool Operator_LessThanOrEqual_ComparesInsideRangesAsSmaller(
     PostalCodeRange left,
     PostalCodeRange right)
 {
     return(left <= right);
 }
コード例 #34
0
 public bool Operator_LessThanOrEqual(PostalCodeRange left, PostalCodeRange right)
 {
     return(left <= right);
 }
コード例 #35
0
 public void ToString_succeeds(PostalCodeRange range)
 {
     Assert.NotNull(range.ToString());
 }
コード例 #36
0
 public void EquivalentDefaults_HaveIsDefaultSet(
     [ValueSource("DefaultPostalCodeRangeEquivalencyClass")] PostalCodeRange range)
 {
     Assert.That(range.IsDefault, Is.True);
 }
コード例 #37
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());
 }
コード例 #38
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));
 }
コード例 #39
0
 public bool Operator_GreaterThan_ComparesInsideRangesAsSmaller(
     PostalCodeRange left,
     PostalCodeRange right)
 {
     return(left > right);
 }
コード例 #40
0
 public bool Contains_WhenContained_ReturnsTrue(
     PostalCodeRange outer,
     PostalCodeRange inner)
 {
     return(PostalCodeRange.Contains(outer, inner));
 }