public void testComplexFooter() throws ReportProcessingException { final DefaultLayoutModelBuilder builder = new DefaultLayoutModelBuilder(); builder.setLimitedSubReports( true ); builder.setCollapseProgressMarker( false ); final RichTextStyleResolver resolver = new RichTextStyleResolver( new DefaultProcessingContext(), new MasterReport() ); final LayoutBuilderStrategy builderStrategy = new DefaultLayoutBuilderStrategy( resolver ); final DefaultRenderNodeFactory renderNodeFactory = new DefaultRenderNodeFactory(); renderNodeFactory.initialize( new DebugOutputProcessorMetaData() ); final RenderBox parentBox = new BlockRenderBox(); builder.initialize( new DefaultProcessingContext(), parentBox, renderNodeFactory ); builder.startSection(); ReportFooter reportFooter = new ReportFooter(); reportFooter.setComputedStyle( new SimpleStyleSheet( reportFooter.getDefaultStyleSheet() ) ); builderStrategy.add( new DebugExpressionRuntime(), builder, reportFooter, new ArrayList<InlineSubreportMarker>() ); builderStrategy.add( new DebugExpressionRuntime(), builder, reportFooter, new ArrayList<InlineSubreportMarker>() ); builderStrategy.add( new DebugExpressionRuntime(), builder, reportFooter, new ArrayList<InlineSubreportMarker>() ); builder.endSection(); assertEquals( 3, countChilds( (RenderBox) parentBox.getFirstChild() ) ); }