for (int i = 0; i < queriesAndResults.length; i++)
{
final String query = queriesAndResults[i][0];
final String resultFile = queriesAndResults[i][1];
final DataFactory dataFactory = createDataFactory(query);
SubReport subReport = new SubReport();
subReport.setDataFactory(dataFactory);
final MasterReport report = new MasterReport();
report.getReportHeader().addSubReport(subReport);
final MemoryByteArrayOutputStream bout = new MemoryByteArrayOutputStream();
BundleWriter.writeReportToZipStream(report, bout);
final ResourceManager mgr = new ResourceManager();
mgr.registerDefaults();
final Resource resource = mgr.createDirectly(bout.toByteArray(), MasterReport.class);
final MasterReport r2 = (MasterReport) resource.getResource();
final SubReport sr2 = r2.getReportHeader().getSubReport(0);
final DataFactory e2 = sr2.getDataFactory();
assertNotNull(e2); // cannot assert equals, as this is not implemented ...
initializeDataFactory(e2);
final String queryResult = performQueryTest(e2);
compareLineByLine(resultFile, queryResult);
}