public void GetNextPeriodTest() { TimeBlock readOnlyTimeBlock = new TimeBlock(_start, _duration, true); Assert.IsTrue(readOnlyTimeBlock.GetNextBlock().IsReadOnly); TimeBlock timeBlock = new TimeBlock(_start, _duration); Assert.AreEqual(timeBlock.Start, _start); Assert.AreEqual(timeBlock.End, _end); Assert.AreEqual(timeBlock.Duration, _duration); ITimeBlock nextTimeBlock = timeBlock.GetNextBlock(); Assert.AreEqual(nextTimeBlock.Start, _end); Assert.AreEqual(nextTimeBlock.End, _end.Add(_duration)); Assert.AreEqual(nextTimeBlock.Duration, _duration); TimeSpan nextOffset = TimeSpan.FromHours(1); ITimeBlock nextOffsetTimeBlock = timeBlock.GetNextBlock(nextOffset); Assert.AreEqual(nextOffsetTimeBlock.Start, _end.Add(nextOffset)); Assert.AreEqual(nextOffsetTimeBlock.End, _end.Add(_duration + nextOffset)); Assert.AreEqual(nextOffsetTimeBlock.Duration, _duration); }