factory.addListener( firstRunListener );
factory.addListener( secondRunListener );
factory.addListener( thirdRunListener );
factory.mergeTestHistoryResult();
RunStatistics mergedStatistics = factory.getGlobalRunStatistics();
// Only TEST_THREE is a failing test, other three are flaky tests
assertEquals( 5, mergedStatistics.getCompletedCount() );
assertEquals( 1, mergedStatistics.getErrors() );
assertEquals( 0, mergedStatistics.getFailures() );
assertEquals( 3, mergedStatistics.getFlakes() );
assertEquals( 0, mergedStatistics.getSkipped() );
// Now test the result will be printed out correctly
DummyTestReporter reporter = new DummyTestReporter();
factory.printTestFailures( reporter, DefaultReporterFactory.TestResultType.flake );
String[] expectedFlakeOutput =