public void ShouldHandleMultiSelect()
 {
     Actions actions = new Actions(ngDriver.WrappedDriver);
     GetPageContent("ng_multi_select.htm");
     IWebElement element = ngDriver.FindElement(NgBy.Model("selectedValues"));
     // use core Selenium
     IList<IWebElement> options = new SelectElement(element).Options;
     IEnumerator<IWebElement> etr = options.Where(o => Convert.ToBoolean(o.GetAttribute("selected"))).GetEnumerator();
     while (etr.MoveNext())
     {
         Console.Error.WriteLine(etr.Current.Text);
     }
     foreach (IWebElement option in options)
     {
         // http://selenium.googlecode.com/svn/trunk/docs/api/dotnet/html/AllMembers_T_OpenQA_Selenium_Keys.htm
         actions.KeyDown(Keys.Control).Click(option).KeyUp(Keys.Control).Build().Perform();
         // triggers ngDriver.WaitForAngular()
         Assert.IsNotEmpty(ngDriver.Url);
     }
     // re-read select options
     element = ngDriver.FindElement(NgBy.Model("selectedValues"));
     options = new SelectElement(element).Options;
     etr = options.Where(o => Convert.ToBoolean(o.GetAttribute("selected"))).GetEnumerator();
     while (etr.MoveNext())
     {
         Console.Error.WriteLine(etr.Current.Text);
     }
 }