@Test
public void testOptions() throws Exception {

  Configuration conf = new Configuration();
  conf.set(KeyProvider.DEFAULT_CIPHER_NAME, "myCipher");
  conf.setInt(KeyProvider.DEFAULT_BITLENGTH_NAME, 512);
  Map<String, String> attributes = new HashMap<String, String>();
  attributes.put("a", "A");
  KeyProvider.Options options = KeyProvider.options(conf);
  assertEquals("myCipher", options.getCipher());
  assertEquals(512, options.getBitLength());
  options.setCipher("yourCipher");
  options.setDescription("description");
  options.setAttributes(attributes);
  options.setBitLength(128);
  assertEquals("yourCipher", options.getCipher());
  assertEquals(128, options.getBitLength());
  assertEquals("description", options.getDescription());
  assertEquals(attributes, options.getAttributes());
  options = KeyProvider.options(new Configuration());
  assertEquals(KeyProvider.DEFAULT_CIPHER, options.getCipher());
  assertEquals(KeyProvider.DEFAULT_BITLENGTH, options.getBitLength());
}