public void Add <T>(WebElementResolver resolver) where T : PageControl { var type = typeof(T); if (_resolvers.ContainsKey(type)) { string message = $"Can't register WebElementResolver. Type {type.Name} is already regitered."; throw new InvalidOperationException(message); } _resolvers.Add(type, resolver); }
public IBrowserConfiguration WithWebElementResolver <T>(WebElementResolver resolver) where T : PageControl { Guard.NotNull(nameof(resolver), resolver); _elementResolvers.Add <T>(resolver); return(this); }
public IBrowserConfiguration WithWebElementResolver(WebElementResolver resolver) { Guard.NotNull(nameof(resolver), resolver); _elementResolvers.SetDefault(resolver); return(this); }
public void SetDefault(WebElementResolver resolver) { _default = resolver; }
public WebElementResolverRegistry() { _resolvers = new Dictionary <Type, WebElementResolver>(); _default = (context, provider) => provider(context); }