@Test
  public void testSingleParameterSingleValue() {
    driverConfigMap.put("browser", "safari");
    driverConfigMap.put("type", "remote");
    testConfigMap.put("webDriverConfig", driverConfigMap);
    testConfig = ConfigFactory.parseMap(testConfigMap);

    List<ParameterCombination> parameters =
        new ParameterCombinationFactory(TestClass.class).convertToParameterCombinations(testConfig);

    assertThat(parameters).hasSize(1);
    ParameterCombination parameterCombination = parameters.get(0);
    assertThat(parameterCombination.getWebDriverConfig().getBrowser()).isEqualTo(Browser.SAFARI);
  }
  @Test
  public void testSingleParameterTwoValues() {
    List<String> driverList = Arrays.asList("firefox", "chrome");
    List<Map<String, Object>> driverConfigs = new ArrayList<Map<String, Object>>();
    for (String browser : driverList) {
      driverConfigMap.put("browser", browser);
      driverConfigs.add(cloner.deepClone(driverConfigMap));
    }
    testConfigMap.put("webDriverConfig", driverConfigs);
    testConfig = ConfigFactory.parseMap(testConfigMap);

    List<ParameterCombination> parameters =
        new ParameterCombinationFactory(TestClass.class).convertToParameterCombinations(testConfig);

    assertThat(parameters).hasSize(2);
    for (ParameterCombination parameterCombination : parameters) {
      assertThat(driverList)
          .contains(parameterCombination.getWebDriverConfig().getBrowser().name().toLowerCase());
    }
  }