@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() ); }