public function testGetHotPostVisualizationData() { $hot_posts = array((object) array('post_text' => 'First Post', 'favlike_count_cache' => 1, 'all_retweets' => 2, 'reply_count_cache' => 3), (object) array('post_text' => 'Second Post', 'favlike_count_cache' => 10, 'all_retweets' => 20, 'reply_count_cache' => 30)); $result = DashboardController::getHotPostVisualizationData($hot_posts, 'twitter'); $this->assertEqual(gettype($result), 'string'); $visualization_object = json_decode($result); $this->assertEqual(sizeof($visualization_object->rows), 2); $this->assertEqual(sizeof($visualization_object->cols), 4); $this->assertEqual($visualization_object->cols[0]->label, 'Tweet'); $this->assertEqual($visualization_object->cols[1]->label, 'Replies'); $this->assertEqual($visualization_object->cols[2]->label, 'Retweets'); $this->assertEqual($visualization_object->cols[3]->label, 'Favorites'); $this->assertEqual($visualization_object->rows[0]->c[0]->v, 'First Post...'); $this->assertEqual($visualization_object->rows[0]->c[1]->v, 3); $this->assertEqual($visualization_object->rows[0]->c[2]->v, 2); $this->assertEqual($visualization_object->rows[0]->c[3]->v, 1); $result = DashboardController::getHotPostVisualizationData($hot_posts, 'facebook'); $this->assertEqual(gettype($result), 'string'); $visualization_object = json_decode($result); $this->assertEqual(sizeof($visualization_object->rows), 2); $this->assertEqual(sizeof($visualization_object->cols), 4); $this->assertEqual($visualization_object->cols[0]->label, 'Post'); $this->assertEqual($visualization_object->cols[1]->label, 'Comments'); $this->assertEqual($visualization_object->cols[2]->label, 'Shares'); $this->assertEqual($visualization_object->cols[3]->label, 'Likes'); $this->assertEqual($visualization_object->rows[1]->c[0]->v, 'Second Post...'); $this->assertEqual($visualization_object->rows[1]->c[1]->v, 30); $this->assertEqual($visualization_object->rows[1]->c[2]->v, 20); $this->assertEqual($visualization_object->rows[1]->c[3]->v, 10); }