/**
  * Private function to parse out the media items into typed osapiMediaItems
  *
  * @param osapiActivity $activity
  * @param array $array
  * @param boolean $strictMode
  */
 private static function convertMediaItems(osapiActivity $activity, array $array, $strictMode)
 {
     if (isset($array['mediaItems']) && count($array['mediaItems'])) {
         $mediaItems = array();
         foreach ($array['mediaItems'] as $mediaItem) {
             $mimeType = isset($mediaItem['mimeType']) ? $mediaItem['mimeType'] : null;
             $type = isset($mediaItem['type']) ? $mediaItem['type'] : null;
             $url = isset($mediaItem['url']) ? $mediaItem['url'] : null;
             if ($strictMode && ($mimeType == null || $type == null || $url == null)) {
                 throw new osapiException("Invalid activity entry, missing fields (mimeType: {$mimeType}, type: {$type}, url: {$url})");
             }
             $mediaItems[] = new osapiMediaItem($mimeType, $type, $url);
         }
         $activity->setMediaItems($mediaItems);
     }
     unset($array['mediaItems']);
 }
 /**
  * Tests osapiActivity->getMediaItems()
  */
 public function testGetMediaItems()
 {
     $mediaItems = array('foo' => 'bar');
     $this->osapiActivity->setMediaItems($mediaItems);
     $this->assertEquals($mediaItems, $this->osapiActivity->getMediaItems());
 }