function testCA_2006a_MAXEI_LowIncome()
 {
     Debug::text('CA - MAXEI - Beginning of 2006 01-Jan-06: ', __FILE__, __LINE__, __METHOD__, 10);
     $pd_obj = new PayrollDeduction('CA', 'BC');
     $pd_obj->setDate(strtotime('01-Jan-06'));
     $pd_obj->setEnableCPPAndEIDeduction(TRUE);
     //Deduct CPP/EI.
     $pd_obj->setAnnualPayPeriods(26);
     $pd_obj->setFederalTotalClaimAmount(9039);
     $pd_obj->setProvincialTotalClaimAmount(0);
     $pd_obj->setWCBRate(0.18);
     $pd_obj->setEIExempt(FALSE);
     $pd_obj->setCPPExempt(FALSE);
     $pd_obj->setFederalTaxExempt(FALSE);
     $pd_obj->setProvincialTaxExempt(FALSE);
     $pd_obj->setYearToDateCPPContribution(0);
     $pd_obj->setYearToDateEIContribution(728.3);
     //729.30 - 1.00
     $pd_obj->setGrossPayPeriodIncome(587.0);
     //var_dump($pd_obj->getArray());
     $this->assertEquals($this->mf($pd_obj->getGrossPayPeriodIncome()), '587.00');
     $this->assertEquals($this->mf($pd_obj->getEmployeeEI()), '1.00');
     $this->assertEquals($this->mf($pd_obj->getEmployerEI()), '1.40');
 }
 function testON_2007a_SemiMonthly_Claim1_MedIncome()
 {
     Debug::text('ON - SemiMonthly - Beginning of 2007 01-Jan-07: ', __FILE__, __LINE__, __METHOD__, 10);
     $pd_obj = new PayrollDeduction('CA', 'ON');
     //$pd_obj = new PayrollDeduction();
     //$pd_obj->setCountry('CA');
     //$pd_obj->setProvince('BC');
     $pd_obj->setDate(strtotime('01-Jan-07'));
     $pd_obj->setEnableCPPAndEIDeduction(TRUE);
     //Deduct CPP/EI.
     $pd_obj->setAnnualPayPeriods(24);
     $pd_obj->setFederalTotalClaimAmount(8929);
     $pd_obj->setProvincialTotalClaimAmount(8553);
     $pd_obj->setWCBRate(0.18);
     $pd_obj->setEIExempt(FALSE);
     $pd_obj->setCPPExempt(FALSE);
     $pd_obj->setFederalTaxExempt(FALSE);
     $pd_obj->setProvincialTaxExempt(FALSE);
     $pd_obj->setYearToDateCPPContribution(0);
     $pd_obj->setYearToDateEIContribution(0);
     $pd_obj->setGrossPayPeriodIncome(2830.0);
     $this->assertEquals($this->mf($pd_obj->getGrossPayPeriodIncome()), '2830.00');
     Debug::text('Prov Ded: ' . $pd_obj->getProvincialPayPeriodDeductions(), __FILE__, __LINE__, __METHOD__, 10);
     $this->assertEquals($this->mf($pd_obj->getProvincialPayPeriodDeductions()), '212.50');
     //214.00
 }
 function testCA_2013a_Example4()
 {
     Debug::text('CA - Example1 - Beginning of 01-Jan-2013: ', __FILE__, __LINE__, __METHOD__, 10);
     $pd_obj = new PayrollDeduction('CA', 'BC');
     $pd_obj->setDate(strtotime('01-Jan-2013'));
     $pd_obj->setEnableCPPAndEIDeduction(TRUE);
     //Deduct CPP/EI.
     $pd_obj->setAnnualPayPeriods(26);
     $pd_obj->setFederalTotalClaimAmount(11038);
     $pd_obj->setProvincialTotalClaimAmount(10276);
     $pd_obj->setWCBRate(0);
     $pd_obj->setEIExempt(FALSE);
     $pd_obj->setCPPExempt(FALSE);
     $pd_obj->setFederalTaxExempt(FALSE);
     $pd_obj->setProvincialTaxExempt(FALSE);
     $pd_obj->setYearToDateCPPContribution(0);
     $pd_obj->setYearToDateEIContribution(0);
     $pd_obj->setGrossPayPeriodIncome(1560);
     $this->assertEquals($this->mf($pd_obj->getGrossPayPeriodIncome()), '1560');
     $this->assertEquals($this->mf($pd_obj->getFederalPayPeriodDeductions()), '148.89');
     $this->assertEquals($this->mf($pd_obj->getProvincialPayPeriodDeductions()), '56.91');
 }
 function testPE_2008a_SemiMonthly_Claim1_MedIncome()
 {
     Debug::text('PE - SemiMonthly - Beginning of 2008 01-Jan-08: ', __FILE__, __LINE__, __METHOD__, 10);
     $pd_obj = new PayrollDeduction('CA', 'PE');
     $pd_obj->setDate(strtotime('01-Jan-08'));
     $pd_obj->setEnableCPPAndEIDeduction(TRUE);
     //Deduct CPP/EI.
     $pd_obj->setAnnualPayPeriods(24);
     $pd_obj->setFederalTotalClaimAmount(9600);
     $pd_obj->setProvincialTotalClaimAmount(7708);
     $pd_obj->setWCBRate(0.18);
     $pd_obj->setEIExempt(FALSE);
     $pd_obj->setCPPExempt(FALSE);
     $pd_obj->setFederalTaxExempt(FALSE);
     $pd_obj->setProvincialTaxExempt(FALSE);
     $pd_obj->setYearToDateCPPContribution(0);
     $pd_obj->setYearToDateEIContribution(0);
     $pd_obj->setGrossPayPeriodIncome(2763.0);
     $this->assertEquals($this->mf($pd_obj->getGrossPayPeriodIncome()), '2763.00');
     Debug::text('Prov Ded: ' . $pd_obj->getProvincialPayPeriodDeductions(), __FILE__, __LINE__, __METHOD__, 10);
     $this->assertEquals($this->mf($pd_obj->getProvincialPayPeriodDeductions()), '288.09');
     //285.90
 }