@Test
 public void testHashCode() throws Exception {
   final MapLookupExtractor fn2 = new MapLookupExtractor(ImmutableMap.of("foo", "bar"));
   Assert.assertEquals(fn.hashCode(), fn2.hashCode());
   final MapLookupExtractor fn3 = new MapLookupExtractor(ImmutableMap.of("foo2", "bar"));
   Assert.assertNotEquals(fn.hashCode(), fn3.hashCode());
   final MapLookupExtractor fn4 = new MapLookupExtractor(ImmutableMap.of("foo", "bar2"));
   Assert.assertNotEquals(fn.hashCode(), fn4.hashCode());
 }
 @Test
 public void testGetCacheKey() throws Exception {
   final MapLookupExtractor fn2 = new MapLookupExtractor(ImmutableMap.of("foo", "bar"));
   Assert.assertArrayEquals(fn.getCacheKey(), fn2.getCacheKey());
   final MapLookupExtractor fn3 = new MapLookupExtractor(ImmutableMap.of("foo2", "bar"));
   Assert.assertFalse(Arrays.equals(fn.getCacheKey(), fn3.getCacheKey()));
   final MapLookupExtractor fn4 = new MapLookupExtractor(ImmutableMap.of("foo", "bar2"));
   Assert.assertFalse(Arrays.equals(fn.getCacheKey(), fn4.getCacheKey()));
 }
  @Test
  public void testApply() throws Exception {

    Assert.assertEquals("bar", fn.apply("foo"));
  }
 @Test
 public void testGetMap() throws Exception {
   Assert.assertEquals(ImmutableMap.of("foo", "bar"), fn.getMap());
 }