Example #1
0
 /**
  * 引数の Equator で等価と判断される場合のみ true を返すことを確認します.
  * 
  * @covers Peach\Util\HashMapEntry::keyEquals
  */
 public function testKeyEquals()
 {
     $entry = $this->object;
     $e = DefaultEquator::getInstance();
     $this->assertFalse($entry->keyEquals("first", $e));
     $this->assertTrue($entry->keyEquals("First", $e));
 }
Example #2
0
 /**
  * getInstance() をテストします. 以下を確認します.
  * 
  * - 返り値が DefaultEquator 型であること
  * - 何回実行しても同一のオブジェクトを返すこと
  * 
  * @covers Peach\Util\DefaultEquator::getInstance
  */
 public function testGetInstance()
 {
     $obj1 = DefaultEquator::getInstance();
     $obj2 = DefaultEquator::getInstance();
     $this->assertInstanceOf("Peach\\Util\\DefaultEquator", $obj1);
     $this->assertTrue($obj1 === $obj2);
 }
Example #3
0
 /**
  * 新しい HashMap を構築します.
  * 引数で設定された容量は, オブジェクト構築後に変更することは出来ません.
  * 
  * @param  Map|array $map      デフォルトのマッピング (オプション)
  * @param  Equator   $e        オブジェクトの等価性を判断するための Equator
  *                             (NULL の場合は {@link DefaultEquator} が適用されます)
  * @param  int       $capacity 容量 (デフォルトは 16, 最小で 2)
  */
 public function __construct($map = null, Equator $e = null, $capacity = 16)
 {
     $this->table = array();
     $this->equator = isset($e) ? $e : DefaultEquator::getInstance();
     $this->capacity = self::detectCapacity($capacity);
     $this->modFlag = true;
     $this->cache = array();
     if (isset($map)) {
         $this->initTable($map);
     }
 }