/** * 引数の 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)); }
/** * 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); }
/** * 新しい 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); } }