public function testCreateFromResponse()
 {
     $mockResponse = $this->createMockResponse('MockEventResponse');
     $event = Event::createFromResponse($mockResponse);
     $this->assertInstanceOf('BinaryThinking\\LastfmBundle\\Lastfm\\Model\\Event', $event, 'object created is not an instance of Event');
     $this->assertNotEmpty($event->getId(), 'empty event id');
     $this->assertNotEmpty($event->getTitle(), 'empty event title');
     $this->assertNotEmpty($event->getArtists(), 'empty event artists');
     $this->assertNotEmpty($event->getHeadliner(), 'empty event headliner');
     $this->assertInstanceOf('BinaryThinking\\LastfmBundle\\Lastfm\\Model\\Venue', $event->getVenue(), 'wrong instance for venue');
     $this->assertNotEmpty($event->getStartDate(), 'empty event start date');
     $this->assertNotEmpty($event->getDescription(), 'empty event description');
     $this->assertNotEmpty($event->getImages(), 'empty event images');
     $this->assertArrayHasKey('extralarge', $event->getImages(), 'empty event extralarge image');
     $this->assertNotEmpty($event->getAttendance(), 'empty event attendance');
     $this->assertNotEmpty($event->getReviews(), 'empty event reviews');
     $this->assertNotEmpty($event->getEventTag(), 'empty event tag');
     $this->assertNotEmpty($event->getUrl(), 'empty event url');
     $this->assertNotEmpty($event->getWebsite(), 'empty event website');
     $this->assertNotEmpty($event->getTickets(), 'empty event tickets');
     $this->assertEquals(0, $event->getCancelled(), 'event is cancelled');
 }
 /**
  * Get a paginated list of all the events this artist has played at in the past.
  * 
  * @param string $artist the artist name
  * @param string $mbid the musicbrainz id for the artist
  * @param int $limit the number of results to fetch per page. Defaults to 50
  * @param int $page the page number to fetch. Defaults to first page
  * @param bool $autocorrect transform misspelled artist names into correct artist names, returning the correct version instead. The corrected artist name will be returned in the response
  */
 public function getPastEvents($artist, $mbid = null, $limit = null, $page = null, $autocorrect = true)
 {
     $respone = $this->call(array('method' => 'artist.getPastEvents', 'artist' => $artist, 'mbid' => $mbid, 'limit' => $limit, 'page' => $page, 'autocorrect' => $autocorrect));
     $events = array();
     if (!empty($respone->events->event)) {
         foreach ($respone->events->event as $event) {
             $events[] = LastfmModel\Event::createFromResponse($event);
         }
     }
     return $events;
 }