public void testJsrNamed() { final Named guiceNamed = Names.named("TEST"); final Injector injector = Guice.createInjector( new AbstractModule() { @Override protected void configure() { bindConstant().annotatedWith(guiceNamed).to("CONSTANT"); } }); @SuppressWarnings({"unchecked", "rawtypes"}) final LazyBeanEntry<javax.inject.Named, String> entry = new LazyBeanEntry(guiceNamed, injector.getBinding(Key.get(String.class, guiceNamed)), 0); final javax.inject.Named jsrNamed = entry.getKey(); assertTrue(jsrNamed.equals(jsrNamed)); assertTrue(jsrNamed.equals(entry.getKey())); assertTrue(jsrNamed.equals(T.class.getAnnotation(javax.inject.Named.class))); assertTrue(jsrNamed.equals(guiceNamed)); assertFalse(jsrNamed.equals(Names.named(""))); assertFalse(jsrNamed.equals("TEST")); assertEquals(javax.inject.Named.class, jsrNamed.annotationType()); assertEquals(T.class.getAnnotation(javax.inject.Named.class).hashCode(), jsrNamed.hashCode()); }