/** * Test Get/Set, create, endpoint methods. */ public function testStreamEntity() { $stream = Stream::create(); $this->assertInstanceOf('Shoko\\TwitchApiBundle\\Model\\Entity\\Stream', $stream); $this->assertEquals(null, $stream->getGame()); $this->assertEquals('some_game', $stream->setGame('some_game')->getGame()); $date = new \DateTime(); $this->assertEquals(null, $stream->getCreatedAt()); $this->assertEquals($date, $stream->setCreatedAt($date)->getCreatedAt()); $this->assertEquals(array(), $stream->getLinks()); $link = 'some_link'; $this->assertEquals([$link], $stream->setLinks([$link])->getLinks()); $this->assertEquals(array(), $stream->getPreview()); $preview = 'some_preview'; $this->assertEquals([$preview], $stream->setPreview([$preview])->getPreview()); $this->assertEquals(null, $stream->getId()); $this->assertEquals('some_id', $stream->setId('some_id')->getId()); $this->assertEquals(false, $stream->isPlaylist()); $this->assertEquals(true, $stream->setPlaylist(true)->isPlaylist()); $this->assertEquals(null, $stream->getDelay()); $this->assertEquals('some_delay', $stream->setDelay('some_delay')->getDelay()); $this->assertEquals(0, $stream->getViewers()); $this->assertEquals(42, $stream->setViewers(42)->getViewers()); $this->assertEquals(0, $stream->getVideoHeight()); $this->assertEquals(1080, $stream->setVideoHeight(1080)->getVideoHeight()); $this->assertEquals(0, $stream->getAverageFps()); $this->assertEquals(42.42, $stream->setAverageFps(42.42)->getAverageFps()); $this->assertEquals(null, $stream->getChannel()); $channel = Channel::create(); $this->assertEquals($channel, $stream->setChannel($channel)->getChannel()); }
/** * @param array $data * @param false|Stream $stream * * @return Stream */ public function createEntity(array $data, $stream = false) { if (false === $stream) { $stream = Stream::create(); } if (isset($data['is_playlist'])) { $stream = $stream->setPlaylist($data['is_playlist']); } if (isset($data['game'])) { $stream = $stream->setGame($data['game']); } if (isset($data['delay'])) { $stream = $stream->setDelay($data['delay']); } if (isset($data['viewers'])) { $stream = $stream->setViewers($data['viewers']); } if (isset($data['created_at'])) { $stream = $stream->setCreatedAt(new \DateTime($data['created_at'])); } if (isset($data['_links'])) { $stream = $stream->setLinks($data['_links']); } if (isset($data['_id'])) { $stream = $stream->setId($data['_id']); } if (isset($data['average_fps'])) { $stream = $stream->setAverageFps($data['average_fps']); } if (isset($data['video_height'])) { $stream = $stream->setVideoHeight($data['video_height']); } if (isset($data['channel'])) { $stream = $stream->setChannel((new ChannelFactory())->createEntity($data['channel'])); } if (isset($data['preview'])) { $stream = $stream->setPreview($data['preview']); } return $stream; }