@Test public void getLocalizable() throws Exception { Locale locale = new Locale("de_DE"); Localizable loc; Locale l; Object o; // implements Localizable - no proxy o = new Foobar(); loc = internalGetLocalizable(o, false); loc.setLocale(locale); l = loc.getLocale(); assertEquals(locale, l); // getter only - proxy o = ((Foobar) o).new Internal(); loc = internalGetLocalizable(o, true); loc.setLocale(null); l = loc.getLocale(); assertEquals(locale, l); // getter and setter - proxy o = new Foobar.StaticInternal(); loc = internalGetLocalizable(o, true); loc.setLocale(locale); l = loc.getLocale(); assertEquals(locale, l); // neither getter nor setter - proxy o = new Foobar.StaticInternal.Foo(); loc = internalGetLocalizable(o, true); loc.setLocale(locale); l = loc.getLocale(); assertEquals(null, l); }