ViewToolContext viewContext = createMock(ViewToolContext.class);
HttpServletRequest request = createMock(HttpServletRequest.class);
HttpServletResponse response = createMock(HttpServletResponse.class);
ServletContext servletContext = createMock(ServletContext.class);
ASTMap astMap = createMock(ASTMap.class);
ASTBlock block = createMock(ASTBlock.class);
Map<String, Object> params = createMock(Map.class);
expect(context.getInternalUserContext()).andReturn(viewContext);
expect(viewContext.getRequest()).andReturn(request);
expect(viewContext.getResponse()).andReturn(response);
expect(viewContext.getServletContext()).andReturn(servletContext);
expect(node.jjtGetChild(0)).andReturn(astMap);
expect(astMap.value(context)).andReturn(params);
expect(node.jjtGetChild(1)).andReturn(block);
expect(block.render(eq(context), isA(StringWriter.class))).andReturn(true);
directive.start(context, writer, params, request, response, servletContext);
directive.end(context, writer, params, null, request, response, servletContext);
replay(directive, context, writer, node, viewContext, servletContext, request, response, astMap, params, block);