function Test_of_findFirstBy() { $Users = new AkTestUser(); $User = $Users->findFirstBy("first_name AND last_name", 'Tim', "O'Reilly"); $this->assertTrue($User->first_name == 'Tim' && $User->last_name == "O'Reilly" && $User->user_name == 'tim_oreilly'); $User_arr = $Users->findFirstBy("first_name AND last_name", 'Tim', "O'Reilly"); $this->assertTrue($User->first_name == 'Tim' && $User->last_name == "O'Reilly" && $User->user_name == 'tim_oreilly'); $FoundUser = $Users->findFirstBy("first_name OR first_name:begins", 'Tim', 'Al', array('order' => 'last_name ASC')); $this->assertTrue($FoundUser->first_name == 'Tim'); $this->assertErrorPattern('/Argument list did not match expected set/', $Users->findFirstBy("username", 'tim_oreilly')); $this->assertErrorPattern('/Argument list did not match expected set/', $Users->findFirstBy("user_name AND password", 'tim_oreilly')); $AkTestFields = new AkTestField(); $this->assertTrue($AkTestField = $AkTestFields->findFirstBy('numeric_field:< AND boolean_field', 4, 'yes')); $this->assertEqual($AkTestField->varchar_field, '2 string'); $this->assertTrue($AkTestField = $AkTestFields->findFirstBy('varchar_field:begins', 2)); $this->assertEqual($AkTestField->varchar_field, '2 string'); $this->assertTrue($AkTestField = $AkTestFields->findFirstBy('(varchar_field:begins OR int8_field OR timestamp_field:<) AND tinyint_field:>=', 2, 3, '2005/05/04 23:00:00', 2)); $this->assertEqual($AkTestField->varchar_field, '2 string'); $this->assertTrue($AkTestField = $AkTestFields->findFirstBy('(varchar_field:begins OR int8_field OR timestamp_field:<) AND tinyint_field:>=', 2, 3, '2005/05/04 23:00:00', 2, array('order' => 'numeric_field DESC'))); $this->assertEqual($AkTestField->varchar_field, '4 string'); }