예제 #1
0
 /**
  * Tests basic SELECT functionality and that collections are returned
  * relatively sane.
  *
  * @dataProvider  provider_multiple_select
  * @param         Jelly                     $result
  * @param         int                       $count
  * @param         bool                      $is_model
  * @return        void
  */
 public function test_multiple_select($result, $count, $is_model = TRUE)
 {
     // Set database connection name
     $db = parent::$database_connection;
     // Ensure the count matches a count() query
     $this->assertEquals($result->count($db), $count);
     // We can now get our collection
     $result = $result->select($db);
     // Ensure we have a collection and our counts match
     $this->assertTrue($result instanceof Jelly_Collection);
     $this->assertEquals(count($result), $count);
     // Ensure we can loop through them and all models are loaded
     $verify = 0;
     foreach ($result as $model) {
         if ($is_model) {
             $this->assertTrue($model->loaded());
             $this->assertTrue($model->saved());
             $this->assertTrue($model->id > 0);
         }
         $verify++;
     }
     // Ensure the loop and result was the same
     $this->assertEquals($verify, $count);
 }