@Test
 public void testResumeCrashedJobInfo() {
   when(shardingService.getLocalHostShardingItems()).thenReturn(Collections.<Integer>emptyList());
   schedulerFacade.resumeCrashedJobInfo();
   verify(serverService).persistServerOnline();
   verify(shardingService).getLocalHostShardingItems();
   verify(executionService).clearRunningInfo(Collections.<Integer>emptyList());
 }
 @Test
 public void testRegisterStartUpInfo() {
   schedulerFacade.registerStartUpInfo();
   verify(listenerManager).startAllListeners();
   verify(leaderElectionService).leaderElection();
   verify(configService).persistJobConfiguration();
   verify(serverService).persistServerOnline();
   verify(serverService).clearJobStoppedStatus();
   verify(statisticsService).startProcessCountJob();
   verify(shardingService).setReshardingFlag();
   verify(monitorService).listen();
 }
 @Test
 public void testNewJobTriggerListener() {
   assertThat(schedulerFacade.newJobTriggerListener(), instanceOf(JobTriggerListener.class));
 }
 @Test
 public void testIsMisfire() {
   when(configService.isMisfire()).thenReturn(true);
   assertTrue(schedulerFacade.isMisfire());
 }
 @Test
 public void testGetCron() {
   when(configService.getCron()).thenReturn("0 * * * * *");
   assertThat(schedulerFacade.getCron(), is("0 * * * * *"));
 }
 @Test
 public void testIsJobStoppedManually() {
   when(serverService.isJobStoppedManually()).thenReturn(true);
   assertTrue(schedulerFacade.isJobStoppedManually());
 }
 @Test
 public void testClearJobStoppedStatus() {
   schedulerFacade.clearJobStoppedStatus();
   verify(serverService).clearJobStoppedStatus();
 }
 @Test
 public void testReleaseJobResource() {
   schedulerFacade.releaseJobResource();
   verify(monitorService).close();
   verify(statisticsService).stopProcessCountJob();
 }