/**
  * 存储resource类型的Value是不支持的,特别是LtStoreFile
  */
 public function testStoreResourceTypeValue()
 {
     $storeHandle = new LtStoreFile();
     $storeHandle->init();
     //创建一个resource类型的变量
     $res = xml_parser_create();
     $this->assertTrue(is_resource($res));
     //存到LtStoreFile里去
     $storeHandle->add("test_key", $res);
     //再取出来就变成int型了,只有resource id (一个整数)成功存入了
     $valueFromStore = $storeHandle->get("test_key");
     $this->assertTrue(is_int($valueFromStore));
     //显然他们不相等
     $this->assertNotEquals($res, $valueFromStore);
 }
 /**
  * 测试Value数据类型支持情况
  * @dataProvider testValueTypeDataProvider
  */
 public function testValueType($value, $excepted)
 {
     for ($i = 0;; $i++) {
         switch ($i % 10) {
             case "0":
                 $storeHandle = new LtStoreMemory();
                 break;
             case "1":
                 $storeHandle = new LtStoreFile();
                 break;
             default:
                 break 2;
         }
         $storeHandle->init();
         $key = uniqid();
         $storeHandle->del($key);
         $result = $storeHandle->add($key, $value);
         $this->assertEquals($excepted, $result);
         if ($result) {
             $this->assertEquals($storeHandle->get($key), $value);
         }
     }
 }