Esempio n. 1
0
 public void CompareTo_SameStartSameLength_AlphabeticalAccordingToCourseName()
 {
     unit1 = new TimeUnit(start, end);
     unit1.AssignedCourse = new Course("A", 10, 10, null);
     unit2 = new TimeUnit(start, end);
     unit2.AssignedCourse = new Course("Z", 10, 10, null);
     Assert.Greater(0, unit1.CompareTo(unit2));
 }
Esempio n. 2
0
        public void MergeUnits_2ConsecutiveUnits1Not_OneUnit()
        {
            unit3 = new TimeUnit(end, end.AddMinutes(1));
            units1 = new SortedSet<TimeUnit>() { unit1, unit2, unit3 };

            units1.MergeUnits();

            Assert.AreEqual(2, units1.Count);

            TimeUnit result = new TimeUnit(start, point2);
            Assert.IsTrue(units1.Contains(result));
            Assert.IsTrue(units1.Contains(unit3));
        }
Esempio n. 3
0
 public void CompareTo_SameStart_ShortestFirst()
 {
     unit1 = new TimeUnit(start, end);
     unit2 = new TimeUnit(start, end.AddHours(1));
     Assert.Greater(0, unit1.CompareTo(unit2));
 }
Esempio n. 4
0
 public void CompareTo_LaterStart_LaterOrder()
 {
     unit1 = new TimeUnit(start, end);
     unit2 = new TimeUnit(start.AddMinutes(1), end);
     Assert.Greater(0, unit1.CompareTo(unit2));
 }
Esempio n. 5
0
        public void Shorten_Test()
        {
            unit1 = new TimeUnit(Extensions.DateTimeCreator(0, 8, 30), Extensions.DateTimeCreator(0, 9, 30));
            unit1.Shorten(30);

            Assert.AreEqual(30, unit1.Duration());
        }
Esempio n. 6
0
        public void OverlapsWith_GapBetweenUnits_No()
        {
            TimeUnit unit2 = new TimeUnit(end.AddHours(1), end.AddDays(1));

            Assert.IsFalse(unit2.OverlapsWith(unit1));
            Assert.IsFalse(unit1.OverlapsWith(unit2));
        }
Esempio n. 7
0
 public void OverlapsWith_Completely_Yes()
 {
     TimeUnit unit2 = new TimeUnit(start, end);
     Assert.IsTrue(unit1.OverlapsWith(unit2));
     Assert.IsTrue(unit2.OverlapsWith(unit1));
 }
Esempio n. 8
0
        public void IsConsecutiveWith_ReversedOrder_ReturnFalse()
        {
            TimeUnit unit2 = new TimeUnit(end, end.AddDays(1));

            Assert.IsFalse(unit1.IsConsecutiveWith(unit2));
        }
Esempio n. 9
0
 public bool Merge(TimeUnit other)
 {
     bool result = false;
     if(other.IsConsecutiveWith(this)) {
         End = other.End;
         result = true;
     }
     return result;
 }
Esempio n. 10
0
        // Follows the other TimeUnit consecutively (the end of the other unit and the start of this unit are equal)
        public bool IsConsecutiveWith(TimeUnit other)
        {
            bool result = false;
            // end2 == start1
            if (Start.CompareTo(other.End) == 0)
            {
                result = true;
            }

            return result;
        }
Esempio n. 11
0
 public bool Equals(TimeUnit other)
 {
     if (other == null)
     {
         return false;
     }
     if (!Start.ToString("HH:mm:ss").Equals(other.Start.ToString("HH:mm:ss")))
     {
         return false;
     }
     if (!End.ToString("HH:mm:ss").Equals(other.End.ToString("HH:mm:ss")))
     {
         return false;
     }
     if (AssignedCourse != null)
     {
         if (!AssignedCourse.Equals(other.AssignedCourse))
         {
             return false;
         }
     }
     else if (other.AssignedCourse != null)
     {
         return false;
     }
     return true;
 }
Esempio n. 12
0
 public SplitResult(TimeUnit first, TimeUnit second)
     : this()
 {
     First = first;
     Second = second;
 }
Esempio n. 13
0
 public object Clone()
 {
     TimeUnit unit = new TimeUnit(Start, End);
     unit.AssignedCourse = AssignedCourse == null ? null : (Course) AssignedCourse.Clone();
     return unit;
 }
Esempio n. 14
0
        public void MergeUnits_NoConsecutiveUnits_Pass()
        {
            unit1 = new TimeUnit(start, start.AddSeconds(1));
            unit2 = new TimeUnit(point1, point1.AddSeconds(1));
            unit3 = new TimeUnit(end, end.AddSeconds(1));

            units1 = new SortedSet<TimeUnit>() { unit1, unit2, unit3 };
            units1.MergeUnits();

            Assert.AreEqual(3, units1.Count);
        }
Esempio n. 15
0
 public void init()
 {
     start = DateTime.Now;
     end = start.AddHours(5);
     unit1 = new TimeUnit(start, end);
     unit2 = new TimeUnit(start, end);
 }
Esempio n. 16
0
        public void IsConsecutiveWith_GapBetweenTimeUnits_ReturnFalse()
        {
            TimeUnit unit2 = new TimeUnit(end.AddMilliseconds(1), end.AddDays(1));

            Assert.IsFalse(unit2.IsConsecutiveWith(unit1));
        }
Esempio n. 17
0
        // Overlaps with other TimeUnit (end or start dates may be equal)
        public bool OverlapsWith(TimeUnit other)
        {
            bool result = false;
            result = true;
            // end2 <= start1
            if (Start.CompareTo(other.End) >= 0)
            {
                result = false;
            }
            // end1 <= start2
            else if (End.CompareTo(other.Start) <= 0)
            {
                result = false;
            }

            return result;
        }
Esempio n. 18
0
        public void IsConsecutiveWith_Yes_ReturnTrue()
        {
            TimeUnit unit2 = new TimeUnit(end, end.AddDays(1));

            Assert.IsTrue(unit2.IsConsecutiveWith(unit1));
        }
Esempio n. 19
0
 // Splits the TimeUnit to return two other TimeUnits of which the first is equal to the requested duration
 // and the second is the remainder
 public SplitResult Split(int duration)
 {
     if (duration > Duration())
     {
         throw new ArgumentException("parameter must be lower than or equal than the TimeUnit's duration");
     }
     else if (duration < Duration())
     {
         TimeUnit first = new TimeUnit(Start, Start.AddMinutes(duration));
         TimeUnit second = new TimeUnit(first.End, End);
         return new SplitResult(first, second);
     }
     else
     {
         return new SplitResult(this, null);
     }
 }
Esempio n. 20
0
        public void OverlapsWith_ConsecutiveUnits_No()
        {
            TimeUnit unit2 = new TimeUnit(end, end.AddDays(1));

            Assert.IsFalse(unit2.OverlapsWith(unit1));
            Assert.IsFalse(unit1.OverlapsWith(unit2));
        }
Esempio n. 21
0
        public void Constructor_StartNotBeforeEnd_ArgumentException()
        {
            DateTime end = DateTime.Now;
            DateTime start = end.AddDays(1);

            TimeUnit unit = new TimeUnit(start, end);
        }
Esempio n. 22
0
 public void OverlapsWith_Partly_Yes()
 {
     TimeUnit unit2 = new TimeUnit(start.AddMinutes(1), end.AddMinutes(1));
     Assert.IsTrue(unit2.OverlapsWith(unit1));
     Assert.IsTrue(unit1.OverlapsWith(unit2));
 }
Esempio n. 23
0
        public void Contains_Test()
        {
            SortedSet<TimeUnit> units = new SortedSet<TimeUnit>();
            units.Add(unit1);
            Assert.IsTrue(units.Contains(unit1));

            unit2 = new TimeUnit(unit1.Start, unit1.Start.AddHours(8));
            Assert.IsFalse(units.Contains(unit2));
        }
Esempio n. 24
0
 public void CompareTo_8h30Before10h00_Yes()
 {
     unit1 = new TimeUnit(Extensions.DateTimeCreator(0, 8, 30), Extensions.DateTimeCreator(0, 12, 0));
     unit2 = new TimeUnit(Extensions.DateTimeCreator(0, 10, 0), Extensions.DateTimeCreator(0, 12, 0));
     Assert.Greater(0, unit1.CompareTo(unit2));
 }
Esempio n. 25
0
 public void Equals_EverythingDifferentNoCourse_No()
 {
     unit2 = new TimeUnit(Extensions.DateTimeCreator(0, 8, 30), Extensions.DateTimeCreator(0, 9, 0));
     Assert.AreNotEqual(unit1, unit2);
 }
Esempio n. 26
0
        public void GetHashCode_Clone_SameHashCode()
        {
            unit1 = new TimeUnit(start, end);
            unit1.AssignedCourse = new Course("Test", 10, 10, new List<Resource>() { new Resource("TV") });
            TimeUnit unit = (TimeUnit)unit1.Clone();

            Assert.AreEqual(unit, unit1);
            Assert.AreEqual(unit.GetHashCode(), unit1.GetHashCode());
        }
Esempio n. 27
0
        public void GetHashCode_DifferentFields_DifferentHashCode()
        {
            unit1 = new TimeUnit(start, end);
            unit1.AssignedCourse = new Course("Test", 10, 10, new List<Resource>() { new Resource("TV") });
            unit2 = new TimeUnit(start.AddMinutes(1), end.AddMinutes(1));
            unit2.AssignedCourse = new Course("T", 10, 10, new List<Resource>() { new Resource("TV") });

            Assert.AreNotEqual(unit1, unit2);
            Assert.AreNotEqual(unit1.GetHashCode(), unit2.GetHashCode());
        }
Esempio n. 28
0
        public void Constructor_StartEqualsEnd_Pass()
        {
            end = start;

            unit1 = new TimeUnit(start, end);

            Assert.AreEqual(end, unit1.End);
            Assert.AreEqual(start, unit1.Start);
        }
Esempio n. 29
0
        public void init()
        {
            start = Extensions.DateTimeCreator(0, 8, 30);
            point1 = Extensions.DateTimeCreator(0, 9, 0);
            point2 = Extensions.DateTimeCreator(0, 9, 30);
            end = Extensions.DateTimeCreator(0, 10, 0);

            unit1 = new TimeUnit(start, point1);
            unit2 = new TimeUnit(point1, point2);
            unit3 = new TimeUnit(point2, end);

            units1 = new SortedSet<TimeUnit>() { unit1, unit2, unit3 };
            units2 = new SortedSet<TimeUnit>();

            list1 = new List<int>() { 1, 2, 3, 4 };
            list2 = new List<int>() { 1, 2, 3, 4 };
        }