public function testSearchPostsByHashtag() { $dao = new PostMySQLDAO(); $hashtag = new Hashtag(); $hashtag->id = 1; //First search hashtag that exists $output = $dao->searchPostsByHashtag(array(), $hashtag, 'twitter'); $this->assertEqual(sizeof($output), 20); $this->assertTrue(is_array($output)); $counter = 359; foreach ($output as $post) { $this->assertTrue($post instanceof Post); $this->assertEqual($post->post_id, $counter); $counter = $counter - 2; } //Test page_count for ($i = 30; $i > 1; $i--) { $output = $dao->searchPostsByHashtag(array(), $hashtag, 'twitter', 1, $i); $this->assertEqual(sizeof($output), $i); $counter = 359; foreach ($output as $post) { $this->assertEqual($post->post_id, $counter); $counter = $counter - 2; } } //Test page for ($i = 1; $i < 4; $i++) { $output = $dao->searchPostsByHashtag(array(), $hashtag, 'twitter', $i); switch ($i) { case 1: $this->assertEqual(sizeof($output), 20); break; case 2: $this->assertEqual(sizeof($output), 10); break; case 3: $this->assertEqual(sizeof($output), 0); break; } } //test second hashtag search that exists $hashtag = new Hashtag(); $hashtag->id = 2; $output = $dao->searchPostsByHashtag(array(), $hashtag, 'twitter', 1, 60); $this->assertEqual(sizeof($output), 30); $this->assertTrue(is_array($output)); $counter = 358; foreach ($output as $post) { $this->assertEqual($post->post_id, $counter); $counter = $counter - 2; } }