[ Index ]

PHP Cross Reference of Limb3

title

Body

[close]

/core/tests/cases/ -> lmbSetTest.class.php (source)

   1  <?php
   2  /*
   3   * Limb PHP Framework
   4   *
   5   * @link http://limb-project.com 
   6   * @copyright  Copyright &copy; 2004-2007 BIT(http://bit-creative.com)
   7   * @license    LGPL http://www.gnu.org/copyleft/lesser.html 
   8   */
   9  lmb_require('limb/core/src/lmbSet.class.php');
  10  
  11  class lmbSetTestObject
  12  {
  13    public $var;
  14  }
  15  
  16  class lmbSetTest extends UnitTestCase
  17  {
  18    function testGetFromEmptySet()
  19    {
  20      $ds = new lmbSet();
  21      $this->assertNull($ds->get('test'));
  22    }
  23  
  24    function testSetAndGet()
  25    {
  26      $ds = new lmbSet();
  27      $ds->set('test', 'value');
  28      $this->assertTrue($ds->has('test'));
  29      $this->assertEqual($ds->get('test'), 'value');
  30    }
  31  
  32    function testGetInteger()
  33    {
  34      $ds = new lmbSet();
  35      $ds->set('test', '10b');
  36      $this->assertIdentical($ds->getInteger('test'), 10);
  37    }
  38  
  39    function testGetNumeric()
  40    {
  41      $ds = new lmbSet();
  42      $ds->set('test', '10.1');
  43      $this->assertIdentical($ds->getNumeric('test'), 10.1);
  44    }
  45  
  46    function testGetArrayForScalars()
  47    {
  48      $ds = new lmbSet();
  49      $ds->set('test', 'foo');
  50      $this->assertIdentical($ds->getArray('test'), array());
  51    }
  52  
  53    function testGetArray()
  54    {
  55      $ds = new lmbSet();
  56      $ds->set('test', array('foo'));
  57      $this->assertIdentical($ds->getArray('test'), array('foo'));
  58    }
  59  
  60    function testGetPropertyList()
  61    {
  62      $ds = new lmbSet();
  63      $ds->set('test', 'value');
  64      $this->assertEqual(count($ds->getPropertyList()), 1);
  65      $this->assertEqual($ds->getPropertyList(), array('test'));
  66    }
  67  
  68    function testImportExport()
  69    {
  70      $ds = new lmbSet();
  71      $ds->import($value = array('test' => 'value'));
  72      $this->assertEqual($ds->export(), $value);
  73    }
  74  
  75    function testRemove()
  76    {
  77      $ds = new lmbSet(array('test' => 'value'));
  78      $this->assertEqual($ds->get('test'), 'value');
  79      $ds->remove('test');
  80      $this->assertNull($ds->get('test'));
  81  
  82      $ds->remove('junk');//shouldn't produce notice

  83    }
  84  
  85    function testReset()
  86    {
  87      $ds = new lmbSet(array('test' => 'value'));
  88      $this->assertEqual($ds->getPropertyList(), array('test'));
  89      $ds->reset();
  90      $this->assertEqual($ds->getPropertyList(), array());
  91    }
  92  
  93    function testMerge()
  94    {
  95      $ds = new lmbSet(array('test' => 'value'));
  96      $ds->merge(array('foo' => 'bar'));
  97      $this->assertEqual($ds->getPropertyList(), array('test', 'foo'));
  98      $this->assertEqual($ds->get('test'), 'value');
  99      $this->assertEqual($ds->get('foo'), 'bar');
 100    }
 101  
 102    function testImplementsArrayAccessInterface()
 103    {
 104      $ds = new lmbSet();
 105  
 106      $ds->set('foo', 'Bar');
 107      $this->assertEqual($ds['foo'], 'Bar');
 108  
 109      $ds['foo'] = 'Zoo';
 110      $this->assertEqual($ds->get('foo'), 'Zoo');
 111  
 112      unset($ds['foo']);
 113      $this->assertNull($ds->get('foo'));
 114  
 115      $ds->set('foo', 'Bar');
 116      $this->assertTrue(isset($ds['foo']));
 117      $this->assertFalse(isset($ds['bar']));
 118    }
 119  
 120    function testImplementsIterator()
 121    {
 122      $ds = new lmbSet($array = array('test1' => 'foo',
 123                                            'test2' => 'bar'));
 124  
 125      $result = array();
 126      foreach($ds as $key => $value)
 127        $result[$key] = $value;
 128  
 129      $this->assertEqual($array, $result);
 130    }
 131  }
 132  
 133  ?>


Generated: Fri Dec 5 04:05:07 2008 Cross-referenced by PHPXref 0.7