Esempio n. 1
0
        public void InsertTest()
        {
            SchoolDay schoolDay = new SchoolDay();

            // first
            int      count   = schoolDay.Count;
            DateTime start   = schoolDay.Start;
            Lesson   lesson1 = new Lesson(schoolDay.Start);

            schoolDay.Insert(0, lesson1);
            Assert.Equal <int>(schoolDay.Count, count + 1);
            Assert.Equal(schoolDay[0], lesson1);
            Assert.Equal(schoolDay.First, lesson1);
            Assert.Equal(schoolDay.Start, start.Subtract(lesson1.Duration));
            Assert.Equal(lesson1.Start, schoolDay.Start);
            Assert.Equal <DateTime>(lesson1.End, start);
            Assert.Equal <TimeSpan>(lesson1.Duration, Lesson.LessonDuration);

            // inside
            count = schoolDay.Count;
            start = schoolDay.Start;
            ShortBreak shortBreak1 = new ShortBreak(schoolDay.Start);

            schoolDay.Insert(1, shortBreak1);
            Assert.Equal <int>(schoolDay.Count, count + 1);
            Assert.Equal(schoolDay[1], shortBreak1);
            Assert.Equal(schoolDay.First, lesson1);
            Assert.Equal <DateTime>(schoolDay.Start, start);
            Assert.Equal(shortBreak1.Start, schoolDay.Start.Add(lesson1.Duration));
            Assert.Equal <TimeSpan>(shortBreak1.Duration, ShortBreak.ShortBreakDuration);

            // last
            count = schoolDay.Count;
            DateTime   end         = schoolDay.End;
            ShortBreak shortBreak2 = new ShortBreak(schoolDay.Start);

            schoolDay.Insert(schoolDay.Count, shortBreak2);
            Assert.Equal <int>(schoolDay.Count, count + 1);
            Assert.Equal(schoolDay[count], shortBreak2);
            Assert.Equal(schoolDay.Last, shortBreak2);
            Assert.Equal(schoolDay.End, shortBreak2.End);
            Assert.Equal <DateTime>(shortBreak2.Start, end);
            Assert.Equal <TimeSpan>(shortBreak2.Duration, ShortBreak.ShortBreakDuration);
        }         // InsertTest