public void GridViewScheduledReportsRowDataBound_RecurrenceTypeIsDaily_UpdatedPageControlValue(int reportId)
        {
            // Arrange
            var gridView      = (GridView)_privateObject.GetFieldOrProperty("gvScheduledReports");
            var row           = CreateGridViewRow(Daily, bool.FalseString.ToLower());
            var gridViewEvent = new GridViewRowEventArgs(row);

            gridViewEvent.Row.DataItem = new ReportSchedule {
                ReportID = reportId
            };
            var parameters = new object[] { this, gridViewEvent };

            // Act
            _privateObject.Invoke(GridViewScheduledReportsRowDataBound, parameters);

            // Assert
            var imageButtonEdit      = gridViewEvent.Row.FindControl(ImageButtonEdit) as ImageButton;
            var labelReportName      = gridViewEvent.Row.FindControl(LabelReportName) as Label;
            var lblScheduleType      = gridViewEvent.Row.FindControl(LabelScheduleType) as Label;
            var lblNextScheduledDate = gridViewEvent.Row.FindControl(LabelNextScheduledDate) as Label;

            gridViewEvent.ShouldSatisfyAllConditions
            (
                () => imageButtonEdit.Visible.ShouldBeFalse(),
                () => labelReportName.Text.ShouldBe("Unit Test Report"),
                () => lblScheduleType.Text.ShouldBe(Daily),
                () => lblNextScheduledDate.Text.ShouldNotBeNullOrEmpty()
            );
        }
        public void GridViewScheduledReportsRowDataBound_RecurrenceTypeIsWeekly_UpdatedPageControlValue(int reportId, DayOfWeek dayOfweek)
        {
            // Arrange
            var row           = CreateGridViewRow(Weekly, bool.FalseString.ToLower());
            var gridViewEvent = new GridViewRowEventArgs(row);

            gridViewEvent.Row.DataItem = new ReportSchedule {
                ReportID = reportId
            };
            var parameters = new object[] { this, gridViewEvent };
            var dateList   = GetDates();

            ShimDateTime.NowGet =
                () =>
            {
                return(dateList.FirstOrDefault(x => x.DayOfWeek == dayOfweek));
            };

            // Act
            _privateObject.Invoke(GridViewScheduledReportsRowDataBound, parameters);

            // Assert
            var imageButtonEdit       = gridViewEvent.Row.FindControl(ImageButtonEdit) as ImageButton;
            var labelReportName       = gridViewEvent.Row.FindControl(LabelReportName) as Label;
            var lblScheduleType       = gridViewEvent.Row.FindControl(LabelScheduleType) as Label;
            var labelMonthScheduleDay = gridViewEvent.Row.FindControl(LabelMonthScheduleDay) as Label;
            var lblNextScheduledDate  = gridViewEvent.Row.FindControl(LabelNextScheduledDate) as Label;

            gridViewEvent.ShouldSatisfyAllConditions
            (
                () => imageButtonEdit.Visible.ShouldBeFalse(),
                () => labelReportName.Text.ShouldBe("Unit Test Report"),
                () => lblScheduleType.Text.ShouldBe(Weekly),
                () => labelMonthScheduleDay.Text.ShouldBe("1"),
                () => lblNextScheduledDate.Text.ShouldNotBeNullOrEmpty()
            );
        }