@Test
public void testCancel01() {

    Reserve reserve = new Reserve("001");
    reserve.setAdultCount(1);
    reserve.setChildCount(2);
    TourInfo tour = new TourInfo("01");
    reserve.setTourInfo(tour);
    reserve.setTransfer(Reserve.NOT_TRANSFERED);
    when(reserveRepository.findById("001")).thenReturn(Optional.of(
            reserve));
    when(reserveRepository.findOneForUpdate("001")).thenReturn(reserve);
    when(tourInfoSharedService.isOverPaymentLimit(tour)).thenReturn(false); // within limit
    reserveService.cancel("001");
    ArgumentCaptor<String> argOfDelete = ArgumentCaptor.forClass(
            String.class);
    verify(reserveRepository, times(1)).deleteById(argOfDelete.capture());
    assertThat(argOfDelete.getValue(), is("001"));
}