public void GivenImUsing(WebDriverInstanceType browser)
        {
            if (_objectContainer.ResolveAll <IQAWebDriver>().Any())
            {
                throw new DuplicateWebDriverInstanceTypeException("Web Driver Instance Type is already defined");
            }

            //Can use Enum.Parse instead of Step Argument Transformation.
            switch (browser)
            {
            case WebDriverInstanceType.Chrome:
                _objectContainer.RegisterInstanceAs <IQAWebDriver>(new ChromeQAWebDriver());
                break;

            case WebDriverInstanceType.FireFox:
                _objectContainer.RegisterInstanceAs <IQAWebDriver>(new FirefoxQAWebDriver());
                break;

            case WebDriverInstanceType.InternetExplorer:
                _objectContainer.RegisterInstanceAs <IQAWebDriver>(new IeQAWebDriver());
                break;

            case WebDriverInstanceType.PhantomJS:
                _objectContainer.RegisterInstanceAs <IQAWebDriver>(new PhantomJSQAWebDriver());
                break;

            default:
                throw new NotImplementedWebDriverInstanceTypeException(string.Format("{0} Web Driver Type is Not Implemented", browser));
            }
        }
 public WebDriverInstanceType WebDriverInstanceTypeTransform(WebDriverInstanceType browser)
 {
     return(browser);
 }