示例#1
0
        public void InvariantBreaksOnOutOfRangeSeconds(int seconds)
        {
            var clock = new ClockIn24H();

            clock.Invariant.Should().BeTrue();

            clock.AddSeconds(seconds);

            clock.Invariant.Should().BeFalse();
        }
示例#2
0
        public void InvariantBreaksOnOutOfRangeHour(int hour)
        {
            var clock = new ClockIn24H();

            clock.Invariant.Should().BeTrue();

            clock.AddHours(hour);

            clock.Invariant.Should().BeFalse();
        }
示例#3
0
        public void InvariantBreaksOnOutOfRangeMinute(int minute)
        {
            var clock = new ClockIn24H();

            clock.Invariant.Should().BeTrue();

            clock.AddMinutes(minute);

            clock.Invariant.Should().BeFalse();
        }
示例#4
0
        public void CtorCreatesObject(int hour, int minute, int second)
        {
            var clock = new ClockIn24H(hour, minute, second);

            clock.Invariant.Should().BeTrue();

            clock.Hour.Should().Be(hour);
            clock.Minute.Should().Be(minute);
            clock.Second.Should().Be(second);
        }
示例#5
0
        public void AddHourAddsHour(int hour)
        {
            var clock = new ClockIn24H();

            clock.Hour.Should().Be(0);
            clock.Minute.Should().Be(0);
            clock.Second.Should().Be(0);
            clock.Invariant.Should().BeTrue();

            clock.AddHours(hour);

            clock.Invariant.Should().BeTrue();
            clock.Hour.Should().Be(hour);
            clock.Minute.Should().Be(0);
            clock.Second.Should().Be(0);
        }
示例#6
0
        public void AddSecondsRollsMinuteAndHour(int seconds, int expectedHour, int expectedMinute, int expectedSecond)
        {
            var clock = new ClockIn24H(0, 59, 59);

            clock.Hour.Should().Be(0);
            clock.Minute.Should().Be(59);
            clock.Second.Should().Be(59);
            clock.Invariant.Should().BeTrue();

            clock.AddSeconds(seconds);

            clock.Invariant.Should().BeTrue();
            clock.Hour.Should().Be(expectedHour);
            clock.Minute.Should().Be(expectedMinute);
            clock.Second.Should().Be(expectedSecond);
        }
示例#7
0
        public void AddMinuteRollsHour(int minutes, int expectedHour, int expectedMinute)
        {
            var clock = new ClockIn24H(1, 30, 0);

            clock.Hour.Should().Be(1);
            clock.Minute.Should().Be(30);
            clock.Second.Should().Be(0);
            clock.Invariant.Should().BeTrue();

            clock.AddMinutes(minutes);

            clock.Invariant.Should().BeTrue();
            clock.Hour.Should().Be(expectedHour);
            clock.Minute.Should().Be(expectedMinute);
            clock.Second.Should().Be(0);
        }
示例#8
0
        public void AddMinutesAddsMinute(int minute, int expectedHour, int expectedMinute)
        {
            var clock = new ClockIn24H();

            clock.Hour.Should().Be(0);
            clock.Minute.Should().Be(0);
            clock.Second.Should().Be(0);
            clock.Invariant.Should().BeTrue();

            clock.AddMinutes(minute);

            clock.Invariant.Should().BeTrue();
            clock.Hour.Should().Be(expectedHour);
            clock.Minute.Should().Be(expectedMinute);
            clock.Second.Should().Be(0);
        }
示例#9
0
        public void InvariantIsTrueOnEmptyCtor()
        {
            var time = new ClockIn24H();

            time.Invariant.Should().BeTrue();
        }
示例#10
0
        public void InvariantBreaksOnIncorrectCtorParameters(int hour, int minute, int second)
        {
            var clock = new ClockIn24H(hour, minute, second);

            clock.Invariant.Should().BeFalse();
        }