Esempio n. 1
0
 /**
  * 新しいインスタンスを構築します.
  * @param Map|array $var 指定された配列またはマッピングでこのマップを初期化します.
  */
 public function __construct($var = null)
 {
     if ($var instanceof ArrayMap) {
         $this->data = $var->data;
         return;
     }
     if ($var instanceof Map) {
         $this->data = array();
         $entryList = $var->entryList();
         foreach ($entryList as $entry) {
             $this->put($entry->getKey(), $entry->getValue());
         }
         return;
     }
     if (!isset($var)) {
         $this->data = array();
     } elseif (is_array($var)) {
         $this->data = $var;
     } else {
         throw new \InvalidArgumentException("Argument (" . Values::getType($var) . ") must be array or \\Peach\\Util\\Map");
     }
 }
Esempio n. 2
0
 /**
  * コンストラクタの第一引数が指定された場合に実行される,
  * マッピングの初期化処理です.
  * 
  * @param Map|array $map
  */
 private function initTable(&$map)
 {
     if ($map instanceof Map) {
         $entryList = $map->entryList();
         foreach ($entryList as $entry) {
             $this->put($entry->getKey(), $entry->getValue());
         }
         return;
     }
     if (is_array($map)) {
         foreach ($map as $key => $value) {
             $this->put($key, $value);
         }
         return;
     }
     throw new \InvalidArgumentException("Argument (" . Values::getType($map) . ") must be array or \\Peach\\Util\\Map");
 }
Esempio n. 3
0
 /**
  * getType() をテストします.
  * 以下を確認します.
  * 
  * - オブジェクト以外の引数については, gettype() と同じ結果になること
  * - オブジェクトについては, そのオブジェクトのクラス名を返すこと
  * 
  * @covers Peach\Util\Values::getType
  */
 public function testGetType()
 {
     $tests = array(array(123, "integer"), array("asdf", "string"), array(new \stdClass(), "stdClass"));
     foreach ($tests as $test) {
         $this->assertSame($test[1], Values::getType($test[0]));
     }
 }