@Test
public void testDeriveKey() throws Exception {

  ResourceKey key = new ResourceKey( "", "", null );
  Map<String, Object> keys = new HashMap<String, Object>() {{
      put( "key", "value" );
  }};
  ResourceKey derivedKey = rrl.deriveKey( key, "", keys );
  assertEquals( rrl.SOLUTION_SCHEMA_NAME, derivedKey.getSchema() );
  assertEquals( "", derivedKey.getIdentifierAsString() );
  String path = rrl.SOLUTION_SCHEMA_NAME + rrl.SCHEMA_SEPARATOR;
  key = new ResourceKey( rrl.SOLUTION_SCHEMA_NAME + rrl.SCHEMA_SEPARATOR, "/", null );
  derivedKey = rrl.deriveKey( key, path, keys );
  assertEquals( rrl.SOLUTION_SCHEMA_NAME, derivedKey.getSchema() );
  assertEquals( rrl.SOLUTION_SCHEMA_NAME + rrl.SCHEMA_SEPARATOR, derivedKey.getIdentifierAsString() );
}