@Test
  public void testRemoveParam() {
    PackageGenerationParameters parametersOne = new PackageGenerationParameters();

    List<String> paramValues = new ArrayList<>();
    paramValues.add("Willard Poopa-doodle");
    parametersOne.addParam(BagItParameterNames.CONTACT_NAME, paramValues);

    paramValues = new ArrayList<>();
    paramValues.add("*****@*****.**");
    parametersOne.addParam(BagItParameterNames.CONTACT_EMAIL, paramValues);

    paramValues = new ArrayList<>();
    paramValues.add("org.dataconservancy.packaging.format:borem");
    parametersOne.addParam(BagItParameterNames.PACKAGE_FORMAT_ID, paramValues);

    // make sure the above params were added
    assertTrue(parametersOne.getKeys().contains(BagItParameterNames.CONTACT_NAME));
    assertTrue(parametersOne.getKeys().contains(BagItParameterNames.CONTACT_EMAIL));
    assertTrue(parametersOne.getKeys().contains(BagItParameterNames.PACKAGE_FORMAT_ID));

    // remove one param
    parametersOne.removeParam(BagItParameterNames.PACKAGE_FORMAT_ID);

    // make sure that the remove params is no longer there.
    assertTrue(parametersOne.getKeys().contains(BagItParameterNames.CONTACT_NAME));
    assertTrue(parametersOne.getKeys().contains(BagItParameterNames.CONTACT_EMAIL));
    assertFalse(parametersOne.getKeys().contains(BagItParameterNames.PACKAGE_FORMAT_ID));

    // make sure that attempt to remove param that doesn't exist does not cause exception
    // remove one param
    parametersOne.removeParam(BagItParameterNames.PACKAGE_FORMAT_ID);

    // make sure that the remove params is no longer there.
    assertTrue(parametersOne.getKeys().contains(BagItParameterNames.CONTACT_NAME));
    assertTrue(parametersOne.getKeys().contains(BagItParameterNames.CONTACT_EMAIL));
  }