/** Given is not frozen And no check children When evaluate Then false */
  @Test
  public void notFrozenDontCheckChildren() {
    // is not a hold
    NodeRef nodeRef = generateNodeRef();
    when(mockedHoldService.isHold(nodeRef)).thenReturn(false);

    // dont check children
    condition.setCheckChildren(false);

    // is not frozen
    when(mockedFreezeService.isFrozen(nodeRef)).thenReturn(false);

    // evaluate
    assertFalse(condition.evaluate(nodeRef));

    // verify
    verify(mockedHoldService, times(1)).isHold(nodeRef);
    verify(mockedFreezeService, times(1)).isFrozen(nodeRef);
    verify(mockedFreezeService, never()).hasFrozenChildren(nodeRef);
  }
  /** Given hold When evaluate Then true */
  @Test
  public void evaluateHold() {
    // is a hold
    NodeRef nodeRef = generateNodeRef();
    when(mockedHoldService.isHold(nodeRef)).thenReturn(true);

    // evaluate
    assertTrue(condition.evaluate(nodeRef));

    // verify
    verify(mockedHoldService, times(1)).isHold(nodeRef);
    verify(mockedFreezeService, never()).isFrozen(nodeRef);
    verify(mockedFreezeService, never()).hasFrozenChildren(nodeRef);
  }