public function testGetEvents()
 {
     $em = $this->getMock('CalendR\\Event\\Manager');
     $period = $this->getMock('CalendR\\Period\\PeriodInterface');
     $events = array($this->getMock('CalendR\\Event\\EventInterface'));
     $calendar = new Calendar();
     $calendar->setEventManager($em);
     $em->expects($this->once())->method('find')->with($period, array())->will($this->returnValue($events));
     $this->assertSame($events, $calendar->getEvents($period, array()));
 }
 /**
  * {@inheritdoc}
  */
 public function register(Application $app)
 {
     $app['calendr'] = $app->share(function ($app) {
         $calendr = new Calendar();
         $calendr->setEventManager($app['calendr.event_manager']);
         return $calendr;
     });
     $app['calendr.event_manager'] = $app->share(function ($app) {
         return new Manager(isset($app['calendr.event.providers']) ? $app['calendr.event.providers'] : array(), isset($app['calendr.event.collection.instantiator']) ? $app['calendr.event.collection.instantiator'] : null);
     });
 }
 /**
  * Register the service provider.
  *
  * @return void
  */
 public function register()
 {
     $this->app['calendr'] = $this->app->share(function ($app) {
         $provider = $app['config']->get('calendr::provider');
         $manager = $app['config']->get('calendr::manager');
         $cal = new Calendar();
         if (class_exists($manager)) {
             $cal->setEventManager(new $manager());
         }
         if (class_exists($provider)) {
             $cal->getEventManager()->addProvider('calendrprovider', new $provider());
         }
         return $cal;
     });
 }