public static ElementsList <TElement> ToElementList <TElement>(this IEnumerable <TElement> nativeElementsList)
            where TElement : Element
        {
            var elementList = new ElementsList <TElement>(nativeElementsList);

            return(elementList);
        }
Exemple #2
0
        protected virtual IList <TRowObject> GetItems <TRowObject, TRow>(ElementsList <TRow> rows)
            where TRowObject : new()
            where TRow : GridRow, new()
        {
            var list = new List <TRowObject>();

            foreach (var row in rows)
            {
                var obj = CastRow <TRowObject>(row.Index);
                list.Add(obj);
            }

            return(list);
        }
Exemple #3
0
        private void InitializeRows()
        {
            if (_rows == null || !_rows.Any())
            {
                _rows = this.CreateAllByXpath <TableRow>("./tr[descendant::td]|./tbody/tr[descendant::td]", true).ToElementList();

                int rowNumber = 0;
                foreach (var gridRow in _rows)
                {
                    gridRow.SetParentTable(this);
                    gridRow.Index = rowNumber++;
                }
            }
        }
Exemple #4
0
        protected void AssertTable <T, TRow>(ElementsList <TRow> rows, List <T> expectedEntities)
            where T : new()
            where TRow : TableRow
        {
            var actualEntities = GetItems <T, TRow>(rows);

            if (actualEntities.Count != expectedEntities.Count)
            {
                throw new ArgumentException($"The current table rows count {actualEntities.Count} is different than the specified expected values {expectedEntities.Count}.");
            }

            for (int i = 0; i < expectedEntities.Count; i++)
            {
                EntitiesAsserter.AreEqual(expectedEntities[i], actualEntities[i]);
            }
        }
Exemple #5
0
 protected IList <T> GetItems <T, TRow>(ElementsList <TRow> rows)
     where T : new()
     where TRow : TableRow
 {
     return(rows.Where(r => r.GetCells().Any()).Select(CastRow <T>).ToList());
 }
 public static IEnumerable <string> SelectInnerText <TElement>(this ElementsList <TElement> elementsList)
     where TElement : Element, IElementInnerText
 {
     return(elementsList.Select(e => e.InnerText));
 }