Exemple #1
0
 /**
  * boolValue() をテストします.
  * 以下を確認します.
  * 
  * - "T", "Y", "O" (大小問わず) で始まる文字列は true を返す.
  * - "F", "N" (大小問わず) で始まる文字列は false を返す.
  * 
  * @covers Peach\Util\Values::boolValue
  * @covers Peach\Util\Values::handleBoolValue
  * @covers Peach\Util\Values::stringToBool
  */
 public function testBoolValue()
 {
     // "T", "Y", "O" で始まる文字列と 0 以外の数値, TRUE は常に TRUE を返す
     $okList = array("test", "True", "yes", "Young", "orz", "OK", true, 1.5, -10);
     foreach ($okList as $value) {
         $this->assertTrue(Values::boolValue($value));
         $this->assertTrue(Values::boolValue($value, true));
         $this->assertTrue(Values::boolValue($value, false));
     }
     // "F", "N" で始まる文字列と 0, FALSE は常に FALSE を返す
     $ngList = array("false", "FOX", "NG", "no", false, 0, 0.0);
     foreach ($ngList as $value) {
         $this->assertFalse(Values::boolValue($value));
         $this->assertFalse(Values::boolValue($value, true));
         $this->assertFalse(Values::boolValue($value, false));
     }
     // それ以外の文字列, 型の場合は $defaultValue に応じて返り値が決まる
     // $defaultValue が未指定の場合はキャストした結果となる
     $castTrue = array("ABC", array(0, 0, 0), new \stdClass());
     foreach ($castTrue as $value) {
         $this->assertTrue(Values::boolValue($value));
         $this->assertTrue(Values::boolValue($value, true));
         $this->assertFalse(Values::boolValue($value, false));
     }
     $castFalse = array("0", "", null, array());
     foreach ($castFalse as $value) {
         $this->assertFalse(Values::boolValue($value));
         $this->assertTrue(Values::boolValue($value, true));
         $this->assertFalse(Values::boolValue($value, false));
     }
 }