### Question:
PluginServletContextWrapper implements ServletContext { public Object getAttribute(String name) { Object attr = attributes.get(name); if (attr == null) attr = context.getAttribute(name); return attr; } PluginServletContextWrapper(Plugin plugin, ServletContext context, ConcurrentMap<String, Object> attributes, Map<String, String> initParams); Object getAttribute(String name); Enumeration getAttributeNames(); void removeAttribute(String name); void setAttribute(String name, Object object); String getInitParameter(String name); Enumeration getInitParameterNames(); URL getResource(String path); InputStream getResourceAsStream(String path); ServletContext getContext(String uripath); String getContextPath(); int getMajorVersion(); String getMimeType(String file); int getMinorVersion(); RequestDispatcher getNamedDispatcher(String name); String getRealPath(String path); RequestDispatcher getRequestDispatcher(String path); Set getResourcePaths(String arg0); String getServerInfo(); Servlet getServlet(String name); String getServletContextName(); Enumeration getServletNames(); Enumeration getServlets(); void log(Exception exception, String msg); void log(String message, Throwable throwable); void log(String msg);  }### Answer:
@Test public void testGetAttributeDelegatesToWrappedContext() { assertEquals("wrapped value", contextWrapper.getAttribute("wrapped")); }