@Test
public void testRenderAttributeContext() throws IOException {

    TilesContainer container = createMock(TilesContainer.class);
    InternalContextAdapter internalContextAdapter = createMock(InternalContextAdapter.class);
    ApplicationContext applicationContext = createMock(ApplicationContext.class);
    StringWriter writer = new StringWriter();
    Map<String, Object> requestScope = new HashMap<String, Object>();
    Map<String, Object> applicationScope = new HashMap<String, Object>();
    requestScope.put(TilesAccess.CURRENT_CONTAINER_ATTRIBUTE_NAME, container);
    expect(request.getAttribute(TilesAccess.CURRENT_CONTAINER_ATTRIBUTE_NAME)).andReturn(container);
    expect(applicationContext.getApplicationScope()).andReturn(applicationScope).anyTimes();
    expect(servletContext.getAttribute(ApplicationAccess
            .APPLICATION_CONTEXT_ATTRIBUTE)).andReturn(applicationContext)
            .anyTimes();
    container.renderContext(isA(VelocityRequest.class));
    replay(velocityContext, request, response, servletContext, container,
            internalContextAdapter, applicationContext);
    initializeTool();
    Renderable renderable = tool.renderAttributeContext();
    renderable.render(internalContextAdapter, writer);
    verify(velocityContext, request, response, servletContext, container,
            internalContextAdapter, applicationContext);
}