@Test
  public void testIsValidIdForTypeUnit() throws Exception {
    protocolFundingSourceService = new ProtocolFundingSourceServiceImpl();
    protocolFundingSourceService.setFundingSourceTypeService(getFundingSourceTypeService());
    protocolFundingSourceService.setUnitService(getUnitService());

    ProtocolFundingSource fundingSource =
        new ProtocolFundingSource(UNIT_NUMBER_GOOD, FundingSourceType.UNIT, null, null);
    assertTrue(protocolFundingSourceService.isValidIdForType(fundingSource));

    fundingSource = new ProtocolFundingSource(UNIT_NUMBER_BAD, FundingSourceType.UNIT, null, null);
    assertFalse(protocolFundingSourceService.isValidIdForType(fundingSource));
  }
  @Test
  public void testIsValidIdForTypeOther() throws Exception {
    protocolFundingSourceService = new ProtocolFundingSourceServiceImpl();
    protocolFundingSourceService.setFundingSourceTypeService(getFundingSourceTypeService());
    ProtocolFundingSource fundingSource =
        new ProtocolFundingSource(OTHER_SOURCE_TYPE_ID, FundingSourceType.OTHER, "otherName", null);
    assertTrue(protocolFundingSourceService.isValidIdForType(fundingSource));

    fundingSource =
        new ProtocolFundingSource(
            OTHER_SOURCE_TYPE_ID, FundingSourceType.OTHER, EMPTY_NUMBER, null);
    assertTrue(protocolFundingSourceService.isValidIdForType(fundingSource));
  }
  @Test
  public void testIsValidIdForTypeAward() throws Exception {
    protocolFundingSourceService = new ProtocolFundingSourceServiceImpl();
    protocolFundingSourceService.setFundingSourceTypeService(getFundingSourceTypeService());
    protocolFundingSourceService.setAwardService(getAwardService());
    protocolFundingSourceService.setParameterService(getParameterService());
    ProtocolFundingSource fundingSource =
        new ProtocolFundingSource(AWARD_NUMBER_GOOD, FundingSourceType.AWARD, null, null);
    assertTrue(protocolFundingSourceService.isValidIdForType(fundingSource));

    fundingSource =
        new ProtocolFundingSource(AWARD_NUMBER_BAD, FundingSourceType.AWARD, null, null);
    assertFalse(protocolFundingSourceService.isValidIdForType(fundingSource));
  }
  @Test
  public void testIsValidIdForTypeSponsor() throws Exception {
    protocolFundingSourceService = new ProtocolFundingSourceServiceImpl();
    protocolFundingSourceService.setFundingSourceTypeService(getFundingSourceTypeService());
    protocolFundingSourceService.setSponsorService(getSponsorService());

    ProtocolFundingSource fundingSource =
        new ProtocolFundingSource(SPONSOR_NUMBER_AIR_FORCE, FundingSourceType.SPONSOR, null, null);
    assertTrue(protocolFundingSourceService.isValidIdForType(fundingSource));

    fundingSource =
        new ProtocolFundingSource(SPONSOR_NUMBER_BAD, FundingSourceType.SPONSOR, null, null);
    assertFalse(protocolFundingSourceService.isValidIdForType(fundingSource));
  }