/**
  * Test Get/Set, create, endpoint methods.
  */
 public function testMyChannelEntity()
 {
     $myChannel = MyChannel::create();
     $this->assertInstanceOf('Shoko\\TwitchApiBundle\\Model\\Entity\\MyChannel', $myChannel);
     $this->assertEquals(MyChannel::ENDPOINT, constant(get_class($myChannel) . '::ENDPOINT'));
     $this->assertEquals(null, $myChannel->getName());
     $this->assertEquals('some_name', $myChannel->setName('some_name')->getName());
     $date = new \DateTime();
     $this->assertEquals(null, $myChannel->getCreatedAt());
     $this->assertEquals($date, $myChannel->setCreatedAt($date)->getCreatedAt());
     $this->assertEquals(null, $myChannel->getUpdatedAt());
     $this->assertEquals($date, $myChannel->setUpdatedAt($date)->getUpdatedAt());
     $this->assertEquals(array(), $myChannel->getLinks());
     $link = 'some_link';
     $this->assertEquals([$link], $myChannel->setLinks([$link])->getLinks());
     $this->assertEquals(null, $myChannel->getLogo());
     $this->assertEquals('some_logo', $myChannel->setLogo('some_logo')->getLogo());
     $this->assertEquals(null, $myChannel->getId());
     $this->assertEquals('some_id', $myChannel->setId('some_id')->getId());
     $this->assertEquals(null, $myChannel->getDisplayName());
     $this->assertEquals('some_display_name', $myChannel->setDisplayName('some_display_name')->getDisplayName());
     $this->assertEquals(false, $myChannel->isMature());
     $this->assertEquals(true, $myChannel->setMature(true)->isMature());
     $this->assertEquals(null, $myChannel->getStatus());
     $this->assertEquals('some_status', $myChannel->setStatus('some_status')->getStatus());
     $this->assertEquals(null, $myChannel->getBroadcasterLanguage());
     $this->assertEquals('some_broadcaster_language', $myChannel->setBroadcasterLanguage('some_broadcaster_language')->getBroadcasterLanguage());
     $this->assertEquals(null, $myChannel->getGame());
     $this->assertEquals('some_game', $myChannel->setGame('some_game')->getGame());
     $this->assertEquals(null, $myChannel->getDelay());
     $this->assertEquals('some_delay', $myChannel->setDelay('some_delay')->getDelay());
     $this->assertEquals(null, $myChannel->getLanguage());
     $this->assertEquals('some_language', $myChannel->setLanguage('some_language')->getLanguage());
     $this->assertEquals(null, $myChannel->getBanner());
     $this->assertEquals('some_banner', $myChannel->setBanner('some_banner')->getBanner());
     $this->assertEquals(null, $myChannel->getVideoBanner());
     $this->assertEquals('some_video_banner', $myChannel->setVideoBanner('some_video_banner')->getVideoBanner());
     $this->assertEquals(null, $myChannel->getBackground());
     $this->assertEquals('some_background', $myChannel->setBackground('some_background')->getBackground());
     $this->assertEquals(null, $myChannel->getProfileBanner());
     $this->assertEquals('some_profile_banner', $myChannel->setProfileBanner('some_profile_banner')->getProfileBanner());
     $this->assertEquals(null, $myChannel->getProfileBannerBackgroundColor());
     $this->assertEquals('some_profile_banner_background_color', $myChannel->setProfileBannerBackgroundColor('some_profile_banner_background_color')->getProfileBannerBackgroundColor());
     $this->assertEquals(false, $myChannel->isPartner());
     $this->assertEquals(true, $myChannel->setPartner(true)->isPartner());
     $this->assertEquals(null, $myChannel->getUrl());
     $this->assertEquals('some_url', $myChannel->setUrl('some_url')->getUrl());
     $this->assertEquals(0, $myChannel->getViews());
     $this->assertEquals(42, $myChannel->setViews(42)->getViews());
     $this->assertEquals(0, $myChannel->getFollowers());
     $this->assertEquals(42, $myChannel->setFollowers(42)->getFollowers());
     $this->assertEquals(null, $myChannel->getEmail());
     $this->assertEquals('some_email', $myChannel->setEmail('some_email')->getEmail());
     $this->assertEquals(null, $myChannel->getStreamKey());
     $this->assertEquals('some_stream_key', $myChannel->setStreamKey('some_stream_key')->getStreamKey());
 }
 /**
  * @param array $data
  * @param false|MyChannel $myChannel
  *
  * @return MyChannel
  */
 public function createEntity(array $data, $myChannel = false)
 {
     if (false === $myChannel) {
         $myChannel = MyChannel::create();
     }
     $myChannel = (new ChannelFactory())->createEntity($data, $myChannel);
     if (isset($data['email'])) {
         $myChannel = $myChannel->setEmail($data['email']);
     }
     if (isset($data['stream_key'])) {
         $myChannel = $myChannel->setStreamKey($data['stream_key']);
     }
     return $myChannel;
 }