/**
  * Test validate account relationship with financial account type.
  */
 public function testValidateRelationship()
 {
     $params = array('labelColumn' => 'name');
     $financialAccount = CRM_Core_PseudoConstant::get('CRM_Financial_DAO_FinancialAccount', 'financial_account_type_id', $params);
     $accountRelationships = CRM_Core_PseudoConstant::get('CRM_Financial_DAO_EntityFinancialAccount', 'account_relationship', $params);
     $financialType = CRM_Contribute_PseudoConstant::financialType();
     $financialAccountType = new CRM_Financial_DAO_EntityFinancialAccount();
     $financialAccountType->entity_table = 'civicrm_financial_type';
     $financialAccountType->entity_id = array_search('Member Dues', $financialType);
     $financialAccountType->account_relationship = array_search('Credit/Contra Revenue Account is', $accountRelationships);
     $financialAccountType->financial_account_id = array_search('Liability', $financialAccount);
     try {
         CRM_Financial_BAO_FinancialTypeAccount::validateRelationship($financialAccountType);
         $this->fail("Missed expected exception");
     } catch (Exception $e) {
         $this->assertTrue(TRUE, 'Received expected exception');
         $this->assertEquals($e->getMessage(), "This financial account cannot have 'Credit/Contra Revenue Account is' relationship.");
     }
 }