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 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)); }
public void EquivalentDefaults_CompareEqual( [ValueSource("DefaultPostalCodeRangeEquivalencyClass")] PostalCodeRange left, [ValueSource("DefaultPostalCodeRangeEquivalencyClass")] PostalCodeRange right) { var actual = left.CompareTo(right); Assert.That(actual, Is.EqualTo(0)); }
public void Substract_WorksForAllCases( PostalCodeRange baseRange, PostalCodeRange toSubstract, IEnumerable <PostalCodeRange> expected) { var actual = PostalCodeRange.Substract(baseRange, toSubstract); Assert.That(actual, Is.EquivalentTo(expected)); }
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 EquivalentDefaults_HaveSameHashCode( [ValueSource("DefaultPostalCodeRangeEquivalencyClass")] PostalCodeRange left, [ValueSource("DefaultPostalCodeRangeEquivalencyClass")] PostalCodeRange right) { var leftHc = left.GetHashCode(); var rightHc = right.GetHashCode(); Assert.That(leftHc, Is.EqualTo(rightHc)); }
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 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); }
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 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); }
public bool AreOverlapping_compares_full_range( PostalCodeRange left, PostalCodeRange right) { return(PostalCodeRange.AreOverlapping(left, right)); }
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 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; }
public int IComparable_CompareTo_compares_starts_then_ends( PostalCodeRange range, PostalCodeRange other) { return(Math.Sign((range as IComparable).CompareTo(other))); }
public void ToString_succeeds(PostalCodeRange range) { Assert.NotNull(range.ToString()); }
public bool Operator_GreaterThanOrEqual(PostalCodeRange left, PostalCodeRange right) { return(left >= right); }
public bool CoincidesWith_compares_full_range(PostalCodeRange left, PostalCodeRange right) { return(PostalCodeRange.AreCoincident(left, right)); }
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 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 bool CoincidesWith_compares_full_range(PostalCodeRange left, PostalCodeRange right) { return PostalCodeRange.AreCoincident(left, right); }
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); }
public bool Operator_LessThanOrEqual(PostalCodeRange left, PostalCodeRange right) { return(left <= right); }
public void EquivalentDefaults_HaveIsDefaultSet( [ValueSource("DefaultPostalCodeRangeEquivalencyClass")] PostalCodeRange range) { Assert.That(range.IsDefault, Is.True); }
public bool Operator_GreaterThan_ComparesInsideRangesAsSmaller( PostalCodeRange left, PostalCodeRange right) { return(left > right); }
public bool Contains_WhenContained_ReturnsTrue( PostalCodeRange outer, PostalCodeRange inner) { return(PostalCodeRange.Contains(outer, inner)); }