/**
  * @param string $type
  * @param string $trainingType
  *
  * @return Week
  */
 public function build($type, $trainingType)
 {
     $week = new Week();
     $sessions = $this->weekProvider->getSessionByWeekType($type, $trainingType);
     foreach ($sessions as $session) {
         if ($session instanceof AbstractSession) {
             $week->addSession($session);
         }
     }
     return $week;
 }
 function it_build_a_plan(Plan $plan, TrainingTypeManager $trainingTypeManager, WeekBuilder $weekBuilder, Week $week, AbstractSession $session)
 {
     $plan->getTrainingType()->willReturn(10);
     $plan->getNbWeek()->willReturn(1);
     $plan->getWeekType()->willReturn('week_3');
     $week->getSessions()->willReturn(array($session));
     $weekBuilder->build('week_3', 10)->willReturn($week);
     $plan->addWeek($week)->shouldBeCalled();
     $trainingTypeManager->findAll()->willReturn(array(10, 21, 42));
     $this->build($plan);
 }