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/lib/entities.php | 2 +- engine/tests/core/entities.php | 65 +++++++++++++++++++++++++++-------------- engine/tests/elgg_unit_test.php | 2 +- engine/tests/test_skeleton.php | 11 ++++--- 4 files changed, 50 insertions(+), 30 deletions(-) diff --git a/engine/lib/entities.php b/engine/lib/entities.php index a73dde60c..aadbdc835 100644 --- a/engine/lib/entities.php +++ b/engine/lib/entities.php @@ -2775,7 +2775,7 @@ */ function entities_test($hook, $type, $value, $params) { global $CONFIG; - $params[] = $CONFIG->path . 'engine/tests/entities.php'; + $params[] = $CONFIG->path . 'engine/tests/core/entities.php'; return $params; } 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; + } +} diff --git a/engine/tests/elgg_unit_test.php b/engine/tests/elgg_unit_test.php index 79c3d375c..d9841099b 100755 --- a/engine/tests/elgg_unit_test.php +++ b/engine/tests/elgg_unit_test.php @@ -6,7 +6,7 @@ abstract class ElggCoreUnitTest extends UnitTestCase { parent::__construct(); } - + public function __destruct() { } diff --git a/engine/tests/test_skeleton.php b/engine/tests/test_skeleton.php index b958e7b25..494887bc2 100644 --- a/engine/tests/test_skeleton.php +++ b/engine/tests/test_skeleton.php @@ -1,7 +1,7 @@ __construct(); } /** * Called before each test method. */ public function setUp() { - } @@ -29,15 +29,14 @@ class ElggCoreSkeletonTest extends ElggCoreUnitTest { */ public function tearDown() { - } /** * Called after each test object. */ public function __destruct() { - - + // hook into ElggCoreUnitTest::__destruct(); + $this->__destruct(); } /** -- cgit v1.2.3