public function testGetNextBillingPeriod()
 {
     $generator = $this->createDefaultGenerator($this->createBillingManager());
     // Prepare some scenarios which we want to test
     $scenarios = array(array('cycles' => 1, 'interval' => 'month', 'initialBilling' => '2013-01-31', 'periodStart' => '2013-01-31', 'periodEnd' => '2013-02-28'));
     foreach ($scenarios as $scenario) {
         $billingAgreement = new BillingAgreement();
         $billingAgreement->setBillingCycles($scenario['cycles']);
         $billingAgreement->getBillingInterval($scenario['interval']);
         $billingAgreement->setInitialBillingDate(new \DateTime($scenario['initialBilling']));
         $billingPeriod = $generator->getNextBillingPeriod($billingAgreement);
         list($periodStart, $periodEnd) = $billingPeriod;
         $this->assertEquals($scenario['periodStart'], $periodStart->format('Y-m-d'));
         $this->assertEquals($scenario['periodEnd'], $periodEnd->format('Y-m-d'));
     }
 }