@Test
  public void testValidateRequiredChildElementNames() {
    Document document = DocumentHelper.createDocument();

    Element element = document.addElement("and");

    Element childElement1 = element.addElement("condition");

    childElement1.addAttribute("argument", "//here");
    childElement1.addAttribute("selenium", "isElementPresent");

    Element childElement2 = element.addElement("contains");

    childElement2.addAttribute("string", "name");
    childElement2.addAttribute("substring", "value");

    PoshiRunnerValidation.validateRequiredChildElementNames(
        element, Arrays.asList("condition", "contains"), "ValidateRequiredChildElementNames.macro");

    Assert.assertEquals("validateRequiredChildElementNames is failing", "", getExceptionMessage());

    PoshiRunnerValidation.validateRequiredChildElementNames(
        element,
        Arrays.asList("condition", "contains", "equals"),
        "ValidateRequiredChildElementNames.macro");

    Assert.assertEquals(
        "validateRequiredChildElementNames is failing",
        "Missing required equals child element",
        getExceptionMessage());
  }