summaryrefslogtreecommitdiff
path: root/tests/unit/Collections/TListTest.php
diff options
context:
space:
mode:
authorxue <>2006-01-31 00:01:49 +0000
committerxue <>2006-01-31 00:01:49 +0000
commit01bc363ac789cfb9d644ce82a949da5cd7e1c220 (patch)
treea059046856645d59cf0cb1badee83eb5c73671e9 /tests/unit/Collections/TListTest.php
parent265b7e85766ba403ca0a8b58648dd091e483cf38 (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.php118
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());
- }
- }
}