/// <summary>
        /// Sets the Rows List
        /// </summary>
        public override void SetRowLists()
        {
            base.SetRowLists();
            int rowIndex = 0;

            foreach (var webElement in WebElementRows)
            {
                Report.Write("GridRow by index: " + rowIndex);
                GridRowType rowType = GetGridRowType(rowIndex);
                Report.Write("GridRowType: " + rowType);
                var lineItem = new ProfileHomeRecommendedTestsRow(gridCssSelector, webElement, rowIndex, rowType, ColumnList, ControlPrefix);
                RowList.Add(lineItem);
                rowIndex++;
            }
        }
        /// <summary>
        /// gets a list of rows containing the text to find from the row list
        /// </summary>
        /// <param name="columnName">the column name</param>
        /// <param name="textToFind">the text to find</param>
        /// <returns>list of ProfileHomeRecommendedTestsRow</returns>
        public new List <ProfileHomeRecommendedTestsRow> GetsRowsContainingTextToFindFromList(string columnName, string textToFind)
        {
            if (RowList.Count == 0)
            {
                Assert.Fail("No items were found in the search results column list.");
                return(null);
            }

            else
            {
                List <ProfileHomeRecommendedTestsRow> assessDashboardRecommendedTestsRowList = new List <ProfileHomeRecommendedTestsRow>();
                string text  = null;
                int    index = 0;
                foreach (var row in RowList)
                {
                    ProfileHomeRecommendedTestsRow assessDashboardRecommendedTestsRow = (ProfileHomeRecommendedTestsRow)row;

                    if (assessDashboardRecommendedTestsRow.Type != GridRowType.Header && assessDashboardRecommendedTestsRow.Type != GridRowType.Pagination)
                    {
                        //get the text by column name
                        if (columnName.Equals(ProfileHomeRecommendedTestsColumnNames.TestName))
                        {
                            text = assessDashboardRecommendedTestsRow.GetTestName();
                        }

                        if (columnName.Equals(ProfileHomeRecommendedTestsColumnNames.StartDate))
                        {
                            text = assessDashboardRecommendedTestsRow.GetTestStartDate();
                        }

                        if (columnName.Equals(ProfileHomeRecommendedTestsColumnNames.EndDate))
                        {
                            text = assessDashboardRecommendedTestsRow.GetTestEndDate();
                        }

                        if (columnName.Equals(ProfileHomeRecommendedTestsColumnNames.ScoresDueDate))
                        {
                            text = assessDashboardRecommendedTestsRow.GetTestScoresDueDate();
                        }

                        if (columnName.Equals(ProfileHomeRecommendedTestsColumnNames.AssignmentStatus))
                        {
                            text = assessDashboardRecommendedTestsRow.GetTestAssignmentStatus();
                        }

                        //if the text is not null
                        if (text != null)
                        {
                            //if the text contains the text to find
                            if (text.Contains(textToFind))
                            {
                                assessDashboardRecommendedTestsRowList.Add(assessDashboardRecommendedTestsRow);
                            }
                        }
                    }
                }

                //may return empty row list if text is not found
                return(assessDashboardRecommendedTestsRowList);
            }
        }