public SeleniumPageObjectGenerator(SeleniumGeneratorOptions options, DotvvmConfiguration dotvvmConfig) { this.dotvvmConfig = dotvvmConfig; this.resolvedTreeRoots = new ConcurrentDictionary <string, IAbstractTreeRoot>(); visitor = new SeleniumPageObjectVisitor(this); visitor.DiscoverControlGenerators(options); }
private static Dictionary <Type, ISeleniumGenerator> GetControlGenerators(SeleniumGeneratorOptions options) { var customGenerators = options.GetCustomGenerators().ToDictionary(t => t.ControlType, t => t); var discoveredGenerators = options.GetAssemblies() .SelectMany(a => a.GetLoadableTypes()) .Where(t => typeof(ISeleniumGenerator).IsAssignableFrom(t) && !t.IsAbstract) .Select(t => (ISeleniumGenerator)Activator.CreateInstance(t)) .ToDictionary(t => t.ControlType, t => t); return(customGenerators.AddRange(discoveredGenerators)); }
public void SeleniumGeneratorOptions_TryAddSameGenerators() { // initialize var options = new SeleniumGeneratorOptions(); var myGenerator = new MySeleniumGeneratorTestClass(); // do options.AddCustomGenerator(myGenerator); options.AddCustomGenerator(myGenerator); // assert if (options.GetCustomGenerators().Count == 1) { Assert.AreEqual(myGenerator, options.GetCustomGenerators().First()); } else { Assert.Fail(); } }
public void SeleniumGeneratorOptions_AddAssembly() { // initialize var options = new SeleniumGeneratorOptions(); var myAssembly = new MySeleniumGeneratorTestClass().GetType().Assembly; // do options.AddAssembly(myAssembly); // assert var foundAssembly = options.GetAssemblies().FirstOrDefault(b => b.Equals(myAssembly)); if (foundAssembly != null) { Assert.AreEqual(myAssembly, foundAssembly); } else { Assert.Fail(); } }
public void SeleniumGeneratorOptions_AddCustomGenerator() { // initialize var options = new SeleniumGeneratorOptions(); var myGenerator = new MySeleniumGeneratorTestClass(); // do options.AddCustomGenerator(myGenerator); // assert var foundGenerator = options.GetCustomGenerators().FirstOrDefault(b => b.Equals(myGenerator)); if (foundGenerator != null) { Assert.AreEqual(myGenerator, foundGenerator); } else { Assert.Fail(); } }
public void DiscoverControlGenerators(SeleniumGeneratorOptions options) { generators = GetControlGenerators(options); }