public static ElementsList <TElement> ToElementList <TElement>(this IEnumerable <TElement> nativeElementsList) where TElement : Element { var elementList = new ElementsList <TElement>(nativeElementsList); return(elementList); }
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); }
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++; } } }
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]); } }
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)); }