Example #1
0
 /**
  * Extend $extendable with new methods
  * @param extendable $extendable
  */
 public function setUpMethods($extendable)
 {
     $extendableMethods = $extendable->___get('___methods');
     foreach ($this->___methods as $method) {
         $extendableMethods[$method] = array($this, $method);
     }
     $extendable->___set('___methods', $extendableMethods);
 }
Example #2
0
 public function testExtension()
 {
     $extendable = new extendable();
     $this->assertNull($extendable->___get('x'));
     $extension = new extensionSample();
     $extendable->extend($extension);
     $reflection = new ReflectionObject($extendable);
     //$method = $reflection->getMethod('method');
     //$this->assertTrue(is_object($method));
     $this->assertEquals(1, $extendable->___get('x'));
     $this->assertEquals(2, $extendable->method());
 }