diff options
author | xue <> | 2006-01-31 00:01:49 +0000 |
---|---|---|
committer | xue <> | 2006-01-31 00:01:49 +0000 |
commit | 01bc363ac789cfb9d644ce82a949da5cd7e1c220 (patch) | |
tree | a059046856645d59cf0cb1badee83eb5c73671e9 /tests/unit/Collections/TListTest.php | |
parent | 265b7e85766ba403ca0a8b58648dd091e483cf38 (diff) |
Modified TList and TMap implementation so that they can be more easily extended.
Diffstat (limited to 'tests/unit/Collections/TListTest.php')
-rw-r--r-- | tests/unit/Collections/TListTest.php | 118 |
1 files changed, 21 insertions, 97 deletions
diff --git a/tests/unit/Collections/TListTest.php b/tests/unit/Collections/TListTest.php index 3dacb701..a64e9da2 100644 --- a/tests/unit/Collections/TListTest.php +++ b/tests/unit/Collections/TListTest.php @@ -6,61 +6,13 @@ class ListItem public $data='data'; } -class NewList extends TList -{ - private $_canAddItem=true; - private $_canRemoveItem=true; - private $_itemAdded=false; - private $_itemRemoved=false; - - protected function addedItem($item) - { - $this->_itemAdded=true; - } - - protected function removedItem($item) - { - $this->_itemRemoved=true; - } - - protected function canAddItem($item) - { - return $this->_canAddItem; - } - - protected function canRemoveItem($item) - { - return $this->_canRemoveItem; - } - - public function setCanAddItem($value) - { - $this->_canAddItem=$value; - } - - public function setCanRemoveItem($value) - { - $this->_canRemoveItem=$value; - } - - public function isItemAdded() - { - return $this->_itemAdded; - } - - public function isItemRemoved() - { - return $this->_itemRemoved; - } -} - /** * @package System.Collections */ class TListTest extends PHPUnit2_Framework_TestCase { protected $list; protected $item1,$item2,$item3; - + public function setUp() { $this->list=new TList; $this->item1=new ListItem; @@ -69,14 +21,14 @@ class TListTest extends PHPUnit2_Framework_TestCase { $this->list->add($this->item1); $this->list->add($this->item2); } - + public function tearDown() { $this->list=null; $this->item1=null; $this->item2=null; $this->item3=null; } - + public function testConstruct() { $a=array(1,2,3); $list=new TList($a); @@ -89,7 +41,7 @@ class TListTest extends PHPUnit2_Framework_TestCase { $this->assertEquals(2,$this->list->getCount()); $this->assertEquals(2,$this->list->Count); } - + public function testAdd() { $this->list->add(null); $this->list->add($this->item3); @@ -107,10 +59,10 @@ class TListTest extends PHPUnit2_Framework_TestCase { $this->list->insert(4,$this->item3); $this->fail('exception not raised when adding item at an out-of-range index'); } catch(TInvalidDataValueException $e) { - + } } - + public function testRemove() { $this->list->remove($this->item1); $this->assertEquals(1,$this->list->getCount()); @@ -120,10 +72,10 @@ class TListTest extends PHPUnit2_Framework_TestCase { $this->list->remove($this->item1); $this->fail('exception not raised when removing nonexisting item'); } catch(Exception $e) { - + } } - + public function testRemoveAt() { $this->list->add($this->item3); $this->list->removeAt(1); @@ -134,17 +86,17 @@ class TListTest extends PHPUnit2_Framework_TestCase { $this->list->removeAt(2); $this->fail('exception not raised when removing item with invalid index'); } catch(TInvalidDataValueException $e) { - + } } - + public function testClear() { $this->list->clear(); $this->assertEquals(0,$this->list->getCount()); $this->assertEquals(-1,$this->list->indexOf($this->item1)); $this->assertEquals(-1,$this->list->indexOf($this->item2)); } - + public function testContains() { $this->assertTrue($this->list->contains($this->item1)); $this->assertTrue($this->list->contains($this->item2)); @@ -165,7 +117,7 @@ class TListTest extends PHPUnit2_Framework_TestCase { $this->list->copyFrom($this); $this->fail('exception not raised when copying from non-traversable object'); } catch(TInvalidDataTypeException $e) { - + } } @@ -177,15 +129,15 @@ class TListTest extends PHPUnit2_Framework_TestCase { $this->list->mergeWith($this); $this->fail('exception not raised when copying from non-traversable object'); } catch(TInvalidDataTypeException $e) { - + } } - + public function testToArray() { $array=$this->list->toArray(); $this->assertTrue(count($array)==2 && $array[0]===$this->item1 && $array[1]===$this->item2); } - + public function testArrayRead() { $this->assertTrue($this->list[0]===$this->item1); $this->assertTrue($this->list[1]===$this->item2); @@ -193,10 +145,10 @@ class TListTest extends PHPUnit2_Framework_TestCase { $a=$this->list[2]; $this->fail('exception not raised when accessing item with out-of-range index'); } catch(TInvalidDataValueException $e) { - + } } - + /*public function testArrayWrite() { $this->list[]=$this->item3; $this->assertTrue($this->list[2]===$this->item3 && $this->list->getCount()===3); @@ -208,16 +160,16 @@ class TListTest extends PHPUnit2_Framework_TestCase { $this->list[5]=$this->item3; $this->fail('exception not raised when setting item at an out-of-range index'); } catch(TInvalidDataValueException $e) { - + } try { unset($this->list[5]); $this->fail('exception not raised when unsetting item at an out-of-range index'); } catch(TInvalidDataValueException $e) { - + } }*/ - + public function testGetIterator() { $n=0; $found=0; @@ -231,40 +183,12 @@ class TListTest extends PHPUnit2_Framework_TestCase { } $this->assertTrue($n==2 && $found==2); } - + public function testArrayMisc() { $this->assertEquals(1,count($this->list)); $this->assertTrue(isset($this->list[1])); $this->assertFalse(isset($this->list[2])); } - - public function testDerivedClasses() { - $newList=new NewList; - $this->assertFalse($newList->isItemAdded()); - $newList->add($this->item1); - $this->assertTrue($newList->isItemAdded()); - $newList->add($this->item2); - - $newList->setCanAddItem(false); - try { - $newList->add($this->item3); - $this->fail('no exception raised when adding an item that is disallowed'); - } catch(TInvalidOperationException $e) { - $this->assertEquals(2,$newList->getCount()); - } - - $this->assertFalse($newList->isItemRemoved()); - $newList->remove($this->item1); - $this->assertTrue($newList->isItemRemoved()); - - $newList->setCanRemoveItem(false); - try { - $newList->remove($this->item2); - $this->fail('no exception raised when removing an item that is disallowed'); - } catch(TInvalidOperationException $e) { - $this->assertEquals(1,$newList->getCount()); - } - } } |