diff options
Diffstat (limited to 'tests/unit/Collections')
-rw-r--r-- | tests/unit/Collections/AllTests.php | 2 | ||||
-rw-r--r-- | tests/unit/Collections/TAttributeCollectionTest.php | 102 |
2 files changed, 104 insertions, 0 deletions
diff --git a/tests/unit/Collections/AllTests.php b/tests/unit/Collections/AllTests.php index a639a42c..84ac3a9c 100644 --- a/tests/unit/Collections/AllTests.php +++ b/tests/unit/Collections/AllTests.php @@ -9,6 +9,7 @@ require_once 'TListTest.php'; require_once 'TMapTest.php'; require_once 'TQueueTest.php'; require_once 'TStackTest.php'; +require_once 'TAttributeCollectionTest.php'; class Collections_AllTests { public static function main() { @@ -22,6 +23,7 @@ class Collections_AllTests { $suite->addTestSuite('TMapTest'); $suite->addTestSuite('TQueueTest'); $suite->addTestSuite('TStackTest'); + $suite->addTestSuite('TAttributeCollectionTest'); return $suite; } diff --git a/tests/unit/Collections/TAttributeCollectionTest.php b/tests/unit/Collections/TAttributeCollectionTest.php new file mode 100644 index 00000000..afded5f3 --- /dev/null +++ b/tests/unit/Collections/TAttributeCollectionTest.php @@ -0,0 +1,102 @@ +<?php +require_once dirname(__FILE__).'/../phpunit.php'; + +Prado::using('System.Collections.TAttributeCollection'); + +/** + * @package System.Collections + */ +class TAttributeCollectionTest extends PHPUnit_Framework_TestCase { + + public function setUp() { + } + + public function tearDown() { + } + + public function testCanGetProperty() { + $collection = new TAttributeCollection(); + $collection->Property = 'value'; + self::assertEquals('value', $collection->Property); + self::assertEquals(true, $collection->canGetProperty('Property')); + } + + public function testCanNotGetUndefinedProperty() { + $collection = new TAttributeCollection(array(), true); + self::assertEquals(false, $collection->canGetProperty('Property')); + try { + $value = $collection->Property; + } catch(TInvalidOperationException $e) { + return; + } + self::fail('An expected TInvalidOperationException was not raised'); + } + + public function testCanSetProperty() { + $collection = new TAttributeCollection(); + $collection->Property = 'value'; + self::assertEquals('value', $collection->itemAt('Property')); + self::assertEquals(true, $collection->canSetProperty('Property')); + } + + public function testCanNotSetPropertyIfReadOnly() { + $collection = new TAttributeCollection(array(), true); + try { + $collection->Property = 'value'; + } catch(TInvalidOperationException $e) { + return; + } + self::fail('An expected TInvalidOperationException was not raised'); + } + + public function testGetCaseSensitive() { + $collection = new TAttributeCollection(); + $collection->setCaseSensitive(false); + self::assertEquals(false, $collection->getCaseSensitive()); + $collection->setCaseSensitive(true); + self::assertEquals(true, $collection->getCaseSensitive()); + } + + public function testSetCaseSensitive() { + $collection = new TAttributeCollection(); + $collection->Property = 'value'; + $collection->setCaseSensitive(false); + self::assertEquals('value', $collection->itemAt('property')); + } + + public function testItemAt() { + $collection = new TAttributeCollection(); + $collection->Property = 'value'; + self::assertEquals('value', $collection->itemAt('Property')); + } + + public function testAdd() { + $collection = new TAttributeCollection(); + $collection->add('Property', 'value'); + self::assertEquals('value', $collection->itemAt('Property')); + } + + public function testRemove() { + $collection = new TAttributeCollection(); + $collection->add('Property', 'value'); + $collection->remove('Property'); + self::assertEquals(0, count($collection)); + } + + public function testContains() { + $collection = new TAttributeCollection(); + self::assertEquals(false, $collection->contains('Property')); + $collection->Property = 'value'; + self::assertEquals(true, $collection->contains('Property')); + } + + public function testHasProperty() { + $collection = new TAttributeCollection(); + self::assertEquals(false, $collection->hasProperty('Property')); + $collection->Property = 'value'; + self::assertEquals(true, $collection->hasProperty('Property')); + } + +} + +?> |