@Test
public void testLoad_compoundOptionalWithOneParam() {

  String ingredients =
      String.join(
          "\n",
          "domain: 'test'",
          "ingredients:",
          "  - name: 'fooIngredient'",
          "    optionals:",
          "      - name: 'optional'",
          "        params:",
          "          - name: 'param'",
          "            type: 'string'");
  Cookbook cookbook = loader.load(toStream(ingredients));
  assertEquals("optional", cookbook.getIngredients().get(0).getOptionals().get(0).getName());
  assertEquals(
      "param",
      cookbook.getIngredients().get(0).getOptionals().get(0).getParams().get(0).getName());
  assertEquals(
      "string",
      cookbook.getIngredients().get(0).getOptionals().get(0).getParams().get(0).getType());
}