Example #1
0
 /**
  * This method tests the "covariant" method.
  *
  * @dataProvider data_covariant
  */
 public function test_covariant(array $provided, array $expected)
 {
     $p0 = IObject\Type::covariant(IObject\Type::box($provided[0]));
     $this->assertInstanceOf('\\Saber\\Data\\IObject\\Type', $p0);
     $p1 = $p0->unbox();
     $e1 = $expected[0];
     if (is_object($p1)) {
         $this->assertInstanceOf(get_class($e1), $p1);
         $this->assertEquals($e1, $p1);
     } else {
         $this->assertInternalType(strtolower(gettype($e1)), $p1);
         $this->assertSame($e1, $p1);
     }
 }