public function testConstructorInParentWithParams()
 {
     $obj = new \TestClass\Point(2, 3);
     $this->assertEquals($obj->getX(), 2);
     $this->assertEquals($obj->getY(), 3);
     //reopen parent class's constructor
     \TestClass\BasePoint::phlexmockMethod('__construct', function ($x, $y) {
         $this->x = 2 * $x;
         $this->y = 2 * $y;
     });
     $obj = new \TestClass\Point(2, 3);
     $this->assertEquals($obj->getX(), 4);
     $this->assertEquals($obj->getY(), 6);
 }
 public function testResetAll()
 {
     $this->phlexmock->reset();
     //make sure we are in the correct baseline
     \TestClass\BasePoint::phlexmockMethod('getX', function () {
         return 2 * $this->x;
     });
     \TestClass\BasePoint::phlexmockMethod('getY', function () {
         return 2 * $this->y;
     });
     $obj = new \TestClass\Point(2, 3);
     $this->assertEquals($obj->getX(), 4);
     $this->assertEquals($obj->getY(), 6);
     //now reset it
     $this->phlexmock->reset();
     $this->assertEquals($obj->getX(), 2);
     $this->assertEquals($obj->getY(), 3);
 }