public void UnionTest() { Utilities.DataTypes.DateSpan Span1 = new Utilities.DataTypes.DateSpan(new DateTime(1999, 1, 1), new DateTime(2003, 1, 1)); Utilities.DataTypes.DateSpan Span2 = new Utilities.DataTypes.DateSpan(new DateTime(2002, 1, 1), new DateTime(2009, 1, 1)); Utilities.DataTypes.DateSpan Span3 = Span1 + Span2; Assert.Equal(new DateTime(1999, 1, 1), Span3.Start); Assert.Equal(new DateTime(2009, 1, 1), Span3.End); }
public void IntersectionTest() { Utilities.DataTypes.DateSpan Span1 = new Utilities.DataTypes.DateSpan(new DateTime(1999, 1, 1), new DateTime(2003, 1, 1)); Utilities.DataTypes.DateSpan Span2 = new Utilities.DataTypes.DateSpan(new DateTime(2002, 1, 1), new DateTime(2009, 1, 1)); Utilities.DataTypes.DateSpan Span3 = Span1.Intersection(Span2); Assert.Equal(new DateTime(2002, 1, 1), Span3.Start); Assert.Equal(new DateTime(2003, 1, 1), Span3.End); }
public void CompareTest() { Utilities.DataTypes.DateSpan Span1 = new Utilities.DataTypes.DateSpan(new DateTime(1999, 1, 1), new DateTime(2009, 1, 1)); Utilities.DataTypes.DateSpan Span2 = new Utilities.DataTypes.DateSpan(new DateTime(1999, 1, 1), new DateTime(2009, 1, 1)); Utilities.DataTypes.DateSpan Span3 = new Utilities.DataTypes.DateSpan(new DateTime(1999, 1, 2), new DateTime(2009, 1, 1)); Assert.True(Span1 == Span2); Assert.False(Span1 == Span3); }
public void CompareTest() { Utilities.DataTypes.DateSpan Span1=new Utilities.DataTypes.DateSpan(new DateTime(1999, 1, 1), new DateTime(2009, 1, 1)); Utilities.DataTypes.DateSpan Span2=new Utilities.DataTypes.DateSpan(new DateTime(1999, 1, 1), new DateTime(2009, 1, 1)); Utilities.DataTypes.DateSpan Span3=new Utilities.DataTypes.DateSpan(new DateTime(1999, 1, 2), new DateTime(2009, 1, 1)); Assert.True(Span1 == Span2); Assert.False(Span1 == Span3); }
public void DifferenceTest() { Utilities.DataTypes.DateSpan Span1 = new Utilities.DataTypes.DateSpan(new DateTime(1999, 1, 1), new DateTime(2003, 1, 1)); Assert.Equal(4, Span1.Years); Assert.Equal(0, Span1.Months); Assert.Equal(0, Span1.Days); Assert.Equal(0, Span1.Hours); Assert.Equal(0, Span1.Minutes); Assert.Equal(0, Span1.Seconds); Assert.Equal(0, Span1.MilliSeconds); Utilities.DataTypes.DateSpan Span2 = new Utilities.DataTypes.DateSpan(new DateTime(1999, 1, 1, 2, 3, 4), new DateTime(2003, 11, 15, 6, 45, 32)); Assert.Equal(4, Span2.Years); Assert.Equal(10, Span2.Months); Assert.Equal(14, Span2.Days); Assert.Equal(4, Span2.Hours); Assert.Equal(42, Span2.Minutes); Assert.Equal(28, Span2.Seconds); Assert.Equal(0, Span2.MilliSeconds); }
/// <summary> /// Determines if two DateSpans overlap /// </summary> /// <param name="Span">The span to compare to</param> /// <returns>True if they overlap, false otherwise</returns> public bool Overlap(DateSpan Span) { return ((Start >= Span.Start && Start < Span.End) || (End <= Span.End && End > Span.Start) || (Start <= Span.Start && End >= Span.End)); }
/// <summary> /// Returns the intersecting time span between the two values /// </summary> /// <param name="Span">Span to use</param> /// <returns>The intersection of the two time spans</returns> public DateSpan Intersection(DateSpan Span) { if (Span.IsNull()) return null; if (!Overlap(Span)) return null; DateTime Start = Span.Start > this.Start ? Span.Start : this.Start; DateTime End = Span.End < this.End ? Span.End : this.End; return new DateSpan(Start, End); }
public void OverlapTest() { Utilities.DataTypes.DateSpan Span1 = new Utilities.DataTypes.DateSpan(new DateTime(1999, 1, 1), new DateTime(2003, 1, 1)); Utilities.DataTypes.DateSpan Span2 = new Utilities.DataTypes.DateSpan(new DateTime(2002, 1, 1), new DateTime(2009, 1, 1)); Assert.True(Span1.Overlap(Span2)); }
/// <summary> /// Determines if two DateSpans overlap /// </summary> /// <param name="Span">The span to compare to</param> /// <returns>True if they overlap, false otherwise</returns> public bool Overlap(DateSpan Span) { return((Start >= Span.Start && Start < Span.End) || (End <= Span.End && End > Span.Start) || (Start <= Span.Start && End >= Span.End)); }
/// <summary> /// Determines if two DateSpans overlap /// </summary> /// <param name="Span">The span to compare to</param> /// <returns>True if they overlap, false otherwise</returns> public bool Overlap(DateSpan Span) { Contract.Requires<ArgumentNullException>(Span != null, "Span"); return ((Start >= Span.Start && Start < Span.End) || (End <= Span.End && End > Span.Start) || (Start <= Span.Start && End >= Span.End)); }
/// <summary> /// Determines if two objects are equal /// </summary> /// <param name="obj">Object to check</param> /// <returns>True if they are, false otherwise</returns> public override bool Equals(object obj) { DateSpan Tempobj = obj as DateSpan; return(Tempobj != null && Tempobj == this); }