public static TOwner ContainHavingContent <TControl, TOwner>(this IDataVerificationProvider <IEnumerable <TControl>, TOwner> should, TermMatch match, params string[] expected) where TControl : Control <TOwner> where TOwner : PageObject <TOwner> { expected.CheckNotNullOrEmpty(nameof(expected)); return(should.Satisfy( actual => { if (actual == null) { return false; } var actualValues = actual.Select(x => x.Content.Value).ToArray(); return expected.All(expectedValue => actualValues.Any(actualValue => match.IsMatch(actualValue, expectedValue))); }, $"contain {UIComponentResolver.ResolveControlTypeName<TControl>()} having content that {match.ToString(TermCase.Lower)} {CollectionToString(expected)}")); }
[Obsolete("Don't use this method.")] // Obsolete since v1.9.0. public static string GetItemTypeName(Type type) { return(type.IsInheritedFromOrIs(typeof(Control <>)) ? UIComponentResolver.ResolveControlTypeName(type) : "item"); }
public static TOwner Contain <TControl, TOwner>(this IDataVerificationProvider <IEnumerable <TControl>, TOwner> should, Expression <Func <TControl, bool> > predicateExpression) where TControl : Control <TOwner> where TOwner : PageObject <TOwner> { predicateExpression.CheckNotNull(nameof(predicateExpression)); var predicate = predicateExpression.Compile(); // TODO: Change code: UIComponentResolver.ResolveControlTypeName<TControl>(). return(should.Satisfy( actual => actual != null && actual.Any(predicate), $"contain \"{UIComponentResolver.ResolveControlName<TControl, TOwner>(predicateExpression)}\" {UIComponentResolver.ResolveControlTypeName<TControl>()}")); }
public ControlList <TControl, TOwner> FindAll <TControl>(params Attribute[] attributes) where TControl : Control <TOwner> => FindAll <TControl>( $"{UIComponentResolver.ResolveControlTypeName<TControl>()} items", attributes);