public void EmptyStringExpected()
        {
            // Arrange
            var control = new CronControl();

            control.SelectBoxIndex = 0;

            // Assert
            control.Value.Should().Be(string.Empty);
        }
        public void ShouldBeOpsiteInputedValue()
        {
            // Arrange
            var time = _fixture.Create <DateTime>();

            var weekdays = new StringBuilder();

            if (OpositeChecks[0])
            {
                weekdays.Append(",1");
            }
            if (OpositeChecks[1])
            {
                weekdays.Append(",2");
            }
            if (OpositeChecks[2])
            {
                weekdays.Append(",3");
            }
            if (OpositeChecks[3])
            {
                weekdays.Append(",4");
            }
            if (OpositeChecks[4])
            {
                weekdays.Append(",5");
            }
            if (OpositeChecks[5])
            {
                weekdays.Append(",6");
            }
            if (OpositeChecks[6])
            {
                weekdays.Append(",7");
            }
            weekdays.Remove(0, 1);

            var control = new CronControl();

            control.SelectBoxIndex       = 3;
            control.dtpWeeklyTime.Value  = time;
            control.cbxSunday.Checked    = OpositeChecks[0];
            control.cbxMonday.Checked    = OpositeChecks[1];
            control.cbxTuesday.Checked   = OpositeChecks[2];
            control.cbxWednesday.Checked = OpositeChecks[3];
            control.cbxThursday.Checked  = OpositeChecks[4];
            control.cbxFriday.Checked    = OpositeChecks[5];
            control.cbxSaturday.Checked  = OpositeChecks[6];

            // Act
            var result = control.GetWeeklyExpression();

            // Assert
            result.Should().Be($"0 {time.Minute} {time.Hour} ? * {weekdays} *");
        }
        public void ShouldSelectWeeksTabIfWeekyExpressionOposite()
        {
            // Arrange
            var control  = new CronControl();
            var weekdays = new StringBuilder();

            if (OpositeChecks[0])
            {
                weekdays.Append(",1");
            }
            if (OpositeChecks[1])
            {
                weekdays.Append(",2");
            }
            if (OpositeChecks[2])
            {
                weekdays.Append(",3");
            }
            if (OpositeChecks[3])
            {
                weekdays.Append(",4");
            }
            if (OpositeChecks[4])
            {
                weekdays.Append(",5");
            }
            if (OpositeChecks[5])
            {
                weekdays.Append(",6");
            }
            if (OpositeChecks[6])
            {
                weekdays.Append(",7");
            }
            weekdays.Remove(0, 1);

            var time       = _fixture.Create <DateTime>();
            var expression = $"0 {time.Minute} {time.Hour} ? * {weekdays} *";

            // Act
            control.Value = expression;

            // Assert
            control.SelectBoxIndex.Should().Be(3);
            control.dtpWeeklyTime.Value.Hour.Should().Be(time.Hour);
            control.dtpWeeklyTime.Value.Minute.Should().Be(time.Minute);
            control.cbxSunday.Checked.Should().Be(OpositeChecks[0]);
            control.cbxMonday.Checked.Should().Be(OpositeChecks[1]);
            control.cbxTuesday.Checked.Should().Be(OpositeChecks[2]);
            control.cbxWednesday.Checked.Should().Be(OpositeChecks[3]);
            control.cbxThursday.Checked.Should().Be(OpositeChecks[4]);
            control.cbxFriday.Checked.Should().Be(OpositeChecks[5]);
            control.cbxSaturday.Checked.Should().Be(OpositeChecks[6]);
        }
Example #4
0
        public void ShouldThrowOnZero()
        {
            // Arrange
            var control = new CronControl();

            control.SelectBoxIndex = 1;

            // Act
            Action result = () => control.nudHourlyHours.Value = 0;

            // Assert
            result.ShouldThrowExactly <ArgumentOutOfRangeException>();
        }
        public void ShouldThrowOnGreaterThenMax()
        {
            // Arrange
            var control = new CronControl();

            control.tcMain.SelectTab("tabHourly");

            // Act
            Action result = () => control.nudHourlyHours.Value = 23 + _generator();

            // Assert
            result.ShouldThrowExactly <ArgumentOutOfRangeException>();
        }
Example #6
0
        public void ShouldThrowOnZero()
        {
            // Arrange
            var control = new CronControl();

            control.tcMain.SelectTab("tabMinutes");

            // Act
            Action result = () => control.nudMinutes.Value = 0;

            // Assert
            result.ShouldThrowExactly <ArgumentOutOfRangeException>();
        }
        public void ShouldGetDailyFormatIfDaysTabSelected()
        {
            // Arrange
            var control = new CronControl();

            control.SelectBoxIndex = 2;

            // Act
            var result = control.Value;

            // Assert
            Regex.IsMatch(result, @"0 \d+ \d+ 1/\d+ \* \? \*", RegexOptions.IgnoreCase).Should().BeTrue();
        }
Example #8
0
        public void ShouldGetHourlyFormatIfHoursTabSelected()
        {
            // Arrange
            var control = new CronControl();

            control.tcMain.SelectTab("tabHourly");

            // Act
            var result = control.Value;

            // Assert
            Regex.IsMatch(result, @"0 \d+ \d+/\d+ 1/1 \* \? \*", RegexOptions.IgnoreCase).Should().BeTrue();
        }
        public void ShouldChangeSelectedRadioToOrdinal()
        {
            // Arrange
            var control = new CronControl();

            control.SelectBoxIndex = 4;

            // Act
            control.rbtMonthlyOrdinal.Checked = true;

            // Assert
            control.rbtMonthlyOrdinal.Checked.Should().BeTrue();
            control.rbtMonthlyEvery.Checked.Should().BeFalse();
        }
Example #10
0
        public void ShouldSelectMinutesTabIfMinutesExpression()
        {
            // Arrange
            var control    = new CronControl();
            var minutes    = _decimalGenerator(1, 3600);
            var expression = $"0 0/{minutes} * 1/1 * ? *";

            // Act
            control.Value = expression;

            // Assert
            control.tcMain.SelectedIndex.Should().Be(0);
            control.nudMinutes.Value.Should().Be(minutes);
        }
Example #11
0
        public void ShouldGetDailyFormatIfDaysTabAndWeekDaysSelected()
        {
            // Arrange
            var control = new CronControl();

            control.tcMain.SelectTab("tabDaily");
            control.rbtDailyWeekDays.Checked = true;

            // Act
            var result = control.Value;

            // Assert
            Regex.IsMatch(result, @"0 \d+ \d+ \? \* 2-6 \*", RegexOptions.IgnoreCase).Should().BeTrue();
        }
Example #12
0
        public void ShouldGetYearlyFormatIfYearsTabAndOrdinalSelected()
        {
            // Arrange
            var control = new CronControl();

            control.tcMain.SelectTab("tabYearly");
            control.rbtYearlyOrdinal.Checked = true;

            // Act
            var result = control.Value;

            // Assert
            Regex.IsMatch(result, @"0 \d+ \d+ \? \d+ \d(#\d|L) \*", RegexOptions.IgnoreCase).Should().BeTrue();
        }
Example #13
0
        public void ShouldChangeSelectedRadioToEvery()
        {
            // Arrange
            var control = new CronControl();

            control.SelectBoxIndex = 2;

            // Act
            control.rbtDailyEvery.Checked = true;

            // Assert
            control.rbtDailyEvery.Checked.Should().BeTrue();
            control.rbtDailyWeekDays.Checked.Should().BeFalse();
        }
Example #14
0
        public void ShouldChangeSelectedRadioToWeekdays()
        {
            // Arrange
            var control = new CronControl();

            control.tcMain.SelectTab("tabDaily");

            // Act
            control.rbtDailyWeekDays.Checked = true;

            // Assert
            control.rbtDailyWeekDays.Checked.Should().BeTrue();
            control.rbtDailyEvery.Checked.Should().BeFalse();
        }
        public void ShouldGetMonthlyFormatIfMonthsTabAndOrdinalSelected()
        {
            // Arrange
            var control = new CronControl();

            control.SelectBoxIndex            = 4;
            control.rbtMonthlyOrdinal.Checked = true;

            // Act
            var result = control.Value;

            // Assert
            Regex.IsMatch(result, @"0 \d+ \d+ \? 1/\d+ \d(#\d|L) \*", RegexOptions.IgnoreCase).Should().BeTrue();
        }
Example #16
0
        public void ShouldChangeSelectedRadioToOrdinal()
        {
            // Arrange
            var control = new CronControl();

            control.tcMain.SelectTab("tabYearly");

            // Act
            control.rbtYearlyOrdinal.Checked = true;

            // Assert
            control.rbtYearlyOrdinal.Checked.Should().BeTrue();
            control.rbtYearlyEvery.Checked.Should().BeFalse();
        }
Example #17
0
        public void ShouldBeInputedValue()
        {
            // Arrange
            var minutes = _generator();
            var control = new CronControl();

            control.tcMain.SelectTab("tabMinutes");
            control.nudMinutes.Value = minutes;

            // Act
            var result = control.GetMinutesExpression();

            // Assert
            result.Should().Be($"0 0/{minutes} * 1/1 * ? *");
        }
        public void ShouldSelectDaysTabAndWeekdaysIfDailyWeekdaysExpression()
        {
            // Arrange
            var control    = new CronControl();
            var time       = _fixture.Create <DateTime>();
            var expression = $"0 {time.Minute} {time.Hour} ? * 2-6 *";

            // Act
            control.Value = expression;

            // Assert
            control.SelectBoxIndex.Should().Be(2);
            control.rbtDailyWeekDays.Checked.Should().BeTrue();
            control.dtpDailyTime.Value.Hour.Should().Be(time.Hour);
            control.dtpDailyTime.Value.Minute.Should().Be(time.Minute);;
        }
Example #19
0
        public void ShouldBeInputedValueWhenWeekdaysSelected()
        {
            // Arrange
            var time    = _fixture.Create <DateTime>();
            var control = new CronControl();

            control.SelectBoxIndex           = 2;
            control.rbtDailyWeekDays.Checked = true;
            control.dtpDailyTime.Value       = time;

            // Act
            var result = control.GetDailyExpression();

            // Assert
            result.Should().Be($"0 {time.Minute} {time.Hour} ? * 2-6 *");
        }
        public void ShouldSelectDaysTabIfDailyExpression()
        {
            // Arrange
            var control    = new CronControl();
            var days       = _decimalGenerator(1, 360);
            var time       = _fixture.Create <DateTime>();
            var expression = $"0 {time.Minute} {time.Hour} 1/{days} * ? *";

            // Act
            control.Value = expression;

            // Assert
            control.SelectBoxIndex.Should().Be(2);
            control.nudDailyDays.Value.Should().Be(days);
            control.dtpDailyTime.Value.Hour.Should().Be(time.Hour);
            control.dtpDailyTime.Value.Minute.Should().Be(time.Minute);
        }
        public void ShouldSelectHoursTabIfHourlyExpression()
        {
            // Arrange
            var control    = new CronControl();
            var hours      = _decimalGenerator(1, 23);
            var time       = _fixture.Create <DateTime>();
            var expression = $"0 {time.Minute} {time.Hour}/{hours} 1/1 * ? *";

            // Act
            control.Value = expression;

            // Assert
            control.SelectBoxIndex.Should().Be(1);
            control.nudHourlyHours.Value.Should().Be(hours);
            control.dtpHourlyTime.Value.Hour.Should().Be(time.Hour);
            control.dtpHourlyTime.Value.Minute.Should().Be(time.Minute);
        }
        public void ShouldThrowOnZero()
        {
            // Arrange
            var control = new CronControl();

            control.SelectBoxIndex = 4;

            // Act
            Action result1 = () => control.nudMonthlyMonths.Value = 0;
            Action result2 = () => control.nudMonthlyMonths2.Value = 0;
            Action result3 = () => control.nudMonthlyDays.Value = 0;

            // Assert
            result1.ShouldThrowExactly <ArgumentOutOfRangeException>();
            result2.ShouldThrowExactly <ArgumentOutOfRangeException>();
            result3.ShouldThrowExactly <ArgumentOutOfRangeException>();
        }
        public void ShouldBeInputedValue()
        {
            // Arrange
            var hours   = _generator();
            var time    = _fixture.Create <DateTime>();
            var control = new CronControl();

            control.tcMain.SelectTab("tabHourly");
            control.nudHourlyHours.Value = hours;
            control.dtpHourlyTime.Value  = time;

            // Act
            var result = control.GetHourlyExpression();

            // Assert
            result.Should().Be($"0 {time.Minute} {time.Hour}/{hours} 1/1 * ? *");
        }
        public void ShouldThrowOnGreaterThenMax()
        {
            // Arrange
            var control = new CronControl();

            control.SelectBoxIndex = 4;

            // Act
            Action result1 = () => control.nudMonthlyMonths.Value = _decimalGenerator(13, 100);
            Action result2 = () => control.nudMonthlyMonths2.Value = _decimalGenerator(13, 100);
            Action result3 = () => control.nudMonthlyDays.Value = _decimalGenerator(32, 100);

            // Assert
            result1.ShouldThrowExactly <ArgumentOutOfRangeException>();
            result2.ShouldThrowExactly <ArgumentOutOfRangeException>();
            result3.ShouldThrowExactly <ArgumentOutOfRangeException>();
        }
Example #25
0
        public void ShouldBeInputedValueWhenEverySelected()
        {
            // Arrange
            var days    = _generator();
            var time    = _fixture.Create <DateTime>();
            var control = new CronControl();

            control.SelectBoxIndex        = 2;
            control.rbtDailyEvery.Checked = true;
            control.nudDailyDays.Value    = days;
            control.dtpDailyTime.Value    = time;

            // Act
            var result = control.GetDailyExpression();

            // Assert
            result.Should().Be($"0 {time.Minute} {time.Hour} 1/{days} * ? *");
        }
Example #26
0
        public void ShouldSelectYearsTabIfYearlyExpression()
        {
            // Arrange
            var control    = new CronControl();
            var day        = _decimalGenerator(1, 31);
            var month      = _intGenerator(1, 12);
            var time       = _fixture.Create <DateTime>();
            var expression = $"0 {time.Minute} {time.Hour} {day} {month} ? *";

            // Act
            control.Value = expression;

            // Assert
            control.tcMain.SelectedIndex.Should().Be(5);
            control.nudYearlyDay.Value.Should().Be(day);
            control.ddlYearlyMonths.SelectedIndex.Should().Be(month - 1);
            control.dtpYearlyTime.Value.Hour.Should().Be(time.Hour);
            control.dtpYearlyTime.Value.Minute.Should().Be(time.Minute);
        }
        public void ShouldSelectMonthsTabIfMonthlyExpression()
        {
            // Arrange
            var control    = new CronControl();
            var days       = _decimalGenerator(1, 31);
            var months     = _decimalGenerator(1, 12);
            var time       = _fixture.Create <DateTime>();
            var expression = $"0 {time.Minute} {time.Hour} {days} 1/{months} ? *";

            // Act
            control.Value = expression;

            // Assert
            control.SelectBoxIndex.Should().Be(4);
            control.nudMonthlyDays.Value.Should().Be(days);
            control.nudMonthlyMonths.Value.Should().Be(months);
            control.dtpMonthlyTime.Value.Hour.Should().Be(time.Hour);
            control.dtpMonthlyTime.Value.Minute.Should().Be(time.Minute);
        }
Example #28
0
        public void ShouldBeInputedValueWhenEverySelected()
        {
            // Arrange
            var day     = _decimalGenerator(1, 31);
            var month   = _intGenerator(1, 12);
            var time    = _fixture.Create <DateTime>();
            var control = new CronControl();

            control.tcMain.SelectTab("tabYearly");
            control.rbtYearlyEvery.Checked        = true;
            control.dtpYearlyTime.Value           = time;
            control.ddlYearlyMonths.SelectedIndex = month - 1;
            control.nudYearlyDay.Value            = day;

            // Act
            var result = control.GetYearlyExpression();

            // Assert
            result.Should().Be($"0 {time.Minute} {time.Hour} {day} {month} ? *");
        }
        public void ShouldBeInputedValueWhenEverySelected()
        {
            // Arrange
            var days    = _decimalGenerator(1, 31);
            var months  = _decimalGenerator(1, 12);
            var time    = _fixture.Create <DateTime>();
            var control = new CronControl();

            control.SelectBoxIndex          = 4;
            control.rbtMonthlyEvery.Checked = true;
            control.dtpMonthlyTime.Value    = time;
            control.nudMonthlyDays.Value    = days;
            control.nudMonthlyMonths.Value  = months;

            // Act
            var result = control.GetMonthlyExpression();

            // Assert
            result.Should().Be($"0 {time.Minute} {time.Hour} {days} 1/{months} ? *");
        }
        public void ShouldGetWeeklyFormatIfWeeksTabSelected()
        {
            // Arrange
            var checks = _fixture.CreateMany <bool>(7).ToList();

            var control = new CronControl();

            control.SelectBoxIndex       = 3;
            control.cbxSunday.Checked    = checks[0];
            control.cbxMonday.Checked    = checks[1];
            control.cbxTuesday.Checked   = checks[2];
            control.cbxWednesday.Checked = checks[3];
            control.cbxThursday.Checked  = checks[4];
            control.cbxFriday.Checked    = checks[5];
            control.cbxSaturday.Checked  = checks[6];

            // Act
            var result = control.Value;

            // Assert
            Regex.IsMatch(result, @"0 \d+ \d+ \? \* (\d,?)+ \*", RegexOptions.IgnoreCase).Should().BeTrue();
        }