/** * throws exceptions if $item is not a data type that we can use as * a boolean * * @param mixed $item * the container to check * @param string $exception * the class to use when throwing an exception * @return void */ public static function check($item, $exception = E4xx_UnsupportedType::class) { // make sure we have a stringy type if (!IsLogical::check($item)) { throw new $exception(SimpleType::from($item)); } }
/** * @covers ::__invoke * @covers ::check * @covers ::checkMixed */ public function testCanDetectNulls() { // ---------------------------------------------------------------- // setup your test $obj = new IsLogical(); $data = null; // ---------------------------------------------------------------- // perform the change $actualResult1 = $obj($data); $actualResult2 = IsLogical::check($data); // ---------------------------------------------------------------- // test the results $this->assertTrue($actualResult1); $this->assertTrue($actualResult2); }