From 636b7054662d4cffcc0e8615216cc39f9faae35f Mon Sep 17 00:00:00 2001 From: nickw Date: Tue, 6 Oct 2009 17:02:15 +0000 Subject: Adding unit test methods to the new Entities test. git-svn-id: http://code.elgg.org/elgg/trunk@3512 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/tests/core/entities.php | 65 ++++++++++++++++++++++++++++-------------- 1 file changed, 43 insertions(+), 22 deletions(-) (limited to 'engine/tests/core') diff --git a/engine/tests/core/entities.php b/engine/tests/core/entities.php index e8013b1fc..37960c3af 100644 --- a/engine/tests/core/entities.php +++ b/engine/tests/core/entities.php @@ -1,52 +1,73 @@ entity = new ElggEntityTest(); } /** * Called after each test method. */ public function tearDown() { - - + unset($this->entity); } /** - * Called after each test object. + * Tests the protected attributes */ - public function __destruct() { - + public function testElggEntityAttributes() { + $test_attributes = array(); + $test_attributes['guid'] = ''; + $test_attributes['type'] = ''; + $test_attributes['subtype'] = ''; + $test_attributes['owner_guid'] = get_loggedin_userid(); + $test_attributes['container_guid'] = get_loggedin_userid(); + $test_attributes['site_guid'] = 0; + $test_attributes['access_id'] = ACCESS_PRIVATE; + $test_attributes['time_created'] = ''; + $test_attributes['time_updated'] = ''; + $test_attributes['enabled'] = 'yes'; + $test_attributes['tables_split'] = 1; + $test_attributes['tables_loaded'] = 0; + $this->assertIdentical($this->entity->expose_attributes(), $test_attributes); } - /** - * A basic test that will be called and fail. - */ - public function testElggEntityConstructor() { - $this->assertTrue(FALSE); + public function testElggEntityGetAndSet() { + $this->assertIdentical($this->entity->get('access_id'), ACCESS_PRIVATE); + $this->assertTrue($this->entity->set('access_id', ACCESS_PUBLIC)); + $this->assertIdentical($this->entity->get('access_id'), ACCESS_PUBLIC); + $this->assertIdentical($this->entity->access_id, ACCESS_PUBLIC); + unset($this->entity->access_id); + $this->assertIdentical($this->entity->access_id, ''); + + $this->assertFalse($this->entity->set('guid', 'error')); + + $this->assertNull($this->entity->get('non_existent')); + $this->assertFalse(isset($this->entity->non_existent)); + $this->assertTrue($this->entity->non_existent = 'test'); + $this->assertTrue(isset($this->entity->non_existent)); + $this->assertIdentical($this->entity->non_existent, 'test'); } } // ElggEntity is an abstract class with no abstact methods. -class ElggEntityTest extends ElggEntity { } +class ElggEntityTest extends ElggEntity { + public function __construct() { + $this->initialise_attributes(); + } + + public function expose_attributes() { + return $this->attributes; + } +} -- cgit v1.2.3