示例#1
0
        /// <summary>
        /// Compares the specified interval.
        /// </summary>
        /// <param name="interval">The interval.</param>
        /// <returns>Interposition.</returns>
        /// <exception cref="Cebos.Veyron.SharedTypes.VeyronException">Unspecified error</exception>
        public Interposition Compare(DateTimeInterval interval)
        {
            if (interval != null)
                return Compare(StartDate, FinishDate, interval.StartDate, interval.FinishDate);

            throw new VeyronException("Unspecified error");
        }
示例#2
0
        public void Unite()
        {
            var intervalA = new DateTimeInterval(new DateTime(2000, 12, 1, 5, 0, 0), new DateTime(2001, 1, 2, 12, 0, 0));
            var intervalB = new DateTimeInterval(new DateTime(2001, 1, 2, 12, 0, 0), new DateTime(2001, 2, 2, 12, 6, 0));
            var unitedInterval = intervalB.Unite(intervalA);
            Assert.AreEqual(unitedInterval, new DateTimeInterval(new DateTime(2000, 12, 1, 5, 0, 0), new DateTime(2001, 2, 2, 12, 6, 0)));

            intervalB = new DateTimeInterval(new DateTime(2001, 1, 2, 13, 0, 0), new DateTime(2001, 2, 2, 12, 6, 0));
            unitedInterval = intervalA.Unite(intervalB);
            Assert.AreEqual(unitedInterval, null);

            intervalB = new DateTimeInterval(new DateTime(2001, 1, 1, 0, 0, 0), new DateTime(2001, 2, 2, 12, 6, 0));
            unitedInterval = intervalA.Unite(intervalB);
            Assert.AreEqual(unitedInterval, new DateTimeInterval(new DateTime(2000, 12, 1, 5, 0, 0), new DateTime(2001, 2, 2, 12, 6, 0)));

            intervalB = new DateTimeInterval(intervalA.StartDate, intervalA.FinishDate);
            unitedInterval = intervalA.Unite(intervalB);
            Assert.AreEqual(unitedInterval, intervalA);

            intervalB = new DateTimeInterval(new DateTime(1900, 1, 1, 0, 0, 0), new DateTime(2010, 2, 2, 12, 6, 0));
            unitedInterval = intervalA.Unite(intervalB);
            Assert.AreEqual(unitedInterval, intervalB);

            var date = new DateTime(2000, 1, 1, 0, 0, 0);
            intervalA = intervalB = new DateTimeInterval(date, date);
            unitedInterval = intervalA.Unite(intervalB);
            Assert.AreEqual(unitedInterval, intervalA);
        }
示例#3
0
 /// <summary>
 /// Compares the specified date1.
 /// </summary>
 /// <param name="date1">The date1.</param>
 /// <param name="date2">The date2.</param>
 /// <returns>Interposition.</returns>
 public Interposition Compare(DateTime date1, DateTime date2)
 {
     var interval = new DateTimeInterval(date1, date2);
     return Compare(interval);
 }
示例#4
0
 /// <summary>
 /// Equalses the specified other.
 /// </summary>
 /// <param name="other">The other.</param>
 /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
 public bool Equals(DateTimeInterval other)
 {
     if (ReferenceEquals(null, other)) return false;
     if (ReferenceEquals(this, other)) return true;
     return other.StartDate.Equals(StartDate) && other.FinishDate.Equals(FinishDate);
 }
示例#5
0
 /// <summary>
 /// Unites the specified date1.
 /// </summary>
 /// <param name="date1">The date1.</param>
 /// <param name="date2">The date2.</param>
 /// <returns>DateTimeInterval.</returns>
 public DateTimeInterval Unite(DateTime date1, DateTime date2)
 {
     var interval = new DateTimeInterval(date1, date2);
     return Unite(interval);
 }