/**
   * Test a valid disapprove with more no votes than yes votes.
   *
   * @throws Exception
   */
  @Test
  public void testValidDisapprove() throws Exception {
    ProtocolDocument protocolDocument = ProtocolFactory.createProtocolDocument();

    CommitteeDecision decision =
        getMockCommitteeDecisionBean(
            CommitteeDecisionMotionType.DISAPPROVE,
            YES_COUNT,
            null,
            null,
            null,
            protocolDocument.getProtocol(),
            true);
    rule.setAttendanceService(getMockCommitteeScheduleAttendanceService(YES_COUNT, 5));
    assertTrue(rule.proccessCommitteeDecisionRule(protocolDocument, decision));
  }
  /**
   * Test an invalid SRR with no comment.
   *
   * @throws Exception
   */
  @Test
  public void testInvalidSRR() throws Exception {
    ProtocolDocument protocolDocument = ProtocolFactory.createProtocolDocument();

    CommitteeDecision decision =
        getMockCommitteeDecisionBean(
            CommitteeDecisionMotionType.SUBSTANTIVE_REVISIONS_REQUIRED,
            YES_COUNT,
            NO_COUNT,
            null,
            null,
            protocolDocument.getProtocol(),
            false);
    rule.setAttendanceService(getMockCommitteeScheduleAttendanceService(YES_COUNT, NO_COUNT));
    assertFalse(rule.proccessCommitteeDecisionRule(protocolDocument, decision));
  }
  /**
   * Test an invalid approve with no Yes count.
   *
   * @throws Exception
   */
  @Test
  public void testInvalidApprove() throws Exception {
    ProtocolDocument protocolDocument = ProtocolFactory.createProtocolDocument();

    CommitteeDecision decision =
        getMockCommitteeDecisionBean(
            CommitteeDecisionMotionType.APPROVE,
            null,
            NO_COUNT,
            null,
            null,
            protocolDocument.getProtocol(),
            false);
    rule.setAttendanceService(getMockCommitteeScheduleAttendanceService(null, NO_COUNT));
    assertFalse(rule.proccessCommitteeDecisionRule(protocolDocument, decision));
  }
  /**
   * Test a valid SMR with a single comment.
   *
   * @throws Exception
   */
  @Test
  public void testValidSMR() throws Exception {
    ProtocolDocument protocolDocument = ProtocolFactory.createProtocolDocument();

    CommitteeDecision decision =
        getMockCommitteeDecisionBean(
            CommitteeDecisionMotionType.SPECIFIC_MINOR_REVISIONS,
            YES_COUNT,
            NO_COUNT,
            null,
            null,
            protocolDocument.getProtocol(),
            true);
    rule.setAttendanceService(getMockCommitteeScheduleAttendanceService(YES_COUNT, NO_COUNT));
    assertTrue(rule.proccessCommitteeDecisionRule(protocolDocument, decision));
  }