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() ); }