@Test
public void accumulateExecutionStatisticOverCommitAndRestart()
{
InternalTransaction initialTransaction = mock( InternalTransaction.class, new ReturnsDeepStubs() );
when( initialTransaction.terminationReason() ).thenReturn( Optional.empty() );
Kernel kernel = mock( Kernel.class );
Neo4jTransactionalContext transactionalContext = new Neo4jTransactionalContext( queryService,
txBridge, null, initialTransaction, initialStatement, null, kernel );
statistics.setFaults( 2 );
statistics.setHits( 5 );
transactionalContext.commitAndRestartTx();
statistics.setFaults( 2 );
statistics.setHits( 5 );
transactionalContext.commitAndRestartTx();
statistics.setFaults( 2 );
statistics.setHits( 5 );
StatisticProvider statisticProvider = transactionalContext.kernelStatisticProvider();
assertEquals( "Expect to see accumulated number of page cache misses.", 6,
statisticProvider.getPageCacheMisses() );
assertEquals( "Expected to see accumulated number of page cache hits.", 15,
statisticProvider.getPageCacheHits() );
}