void HourThrowsOnValueGreaterThan24()
        {
            var dayTime = new MutableDayTime();
            var setHourTo25 = new Action(() => { dayTime.Hour = 25; });

            Assert.Throws<ArgumentException>(setHourTo25);
        }
        void FirstDayTimeIsComparedLessThanTheSecond()
        {
            var dayTime1 = new MutableDayTime(13, 37);
            var dayTime2 = new MutableDayTime(20, 0);

            Assert.True(dayTime1.CompareTo(dayTime2) < 0);
        }
        void FirstDayTimeIsComparedGreaterThanTheSecond()
        {
            var dayTime1 = new MutableDayTime(13, 37);
            var dayTime2 = new MutableDayTime(1, 0);

            Assert.True(dayTime1.CompareTo(dayTime2) > 0);
        }
        void MinuteThrowsOnValueGreaterThan60()
        {
            var dayTime = new MutableDayTime();
            var setMinuteTo70 = new Action(() => { dayTime.Minute = 70; });

            Assert.Throws<ArgumentException>(setMinuteTo70);
        }
        void FirstDayTimeIsEqualToTheSecond()
        {
            var dayTime1 = new MutableDayTime(13, 37);
            var dayTime2 = new MutableDayTime(13, 37);

            Assert.True(dayTime1.CompareTo(dayTime2) == 0);
            Assert.Equal(dayTime1, dayTime2);
        }
        void TimeSpanCanBeCreatedFromTwoIdenticalDayTimes()
        {
            var dayTime = new MutableDayTime(0, 0);

            var timeSpan = _factory.CreateAsDifferenceOf(dayTime, dayTime);

            AssertEqualHourMinuteAndTimeSpan(0, 0, timeSpan);
        }
        void TimeSpanCanBeCreatedFromTwoDifferentDayTimesWithMinuteOverflow()
        {
            var dayTime1 = new MutableDayTime(0, 59);
            var dayTime2 = new MutableDayTime(2, 0);

            var timeSpan = _factory.CreateAsDifferenceOf(dayTime1, dayTime2);

            AssertEqualHourMinuteAndTimeSpan(1, 1, timeSpan);
        }
        void TimeSpanCanBeCreatedFromTwoDifferentDayTimesWhereFirstLess()
        {
            var dayTime1 = new MutableDayTime(0, 0);
            var dayTime2 = new MutableDayTime(1, 0);

            var timeSpan = _factory.CreateAsDifferenceOf(dayTime1, dayTime2);

            AssertEqualHourMinuteAndTimeSpan(1, 0, timeSpan);
        }
 public bool Equals(MutableDayTime other)
 {
     return Hour == other.Hour && Minute == other.Minute;
 }