/** * @dataProvider withProvider * @_testWith ('ClassGenerator\tests\ResourceClasses\ExposeTraitTester', true) * ('ClassGenerator\tests\ResourceClasses\CExposeTraitTester\BaseTester', true) * ('ClassGenerator\tests\ResourceClasses\CExposeTraitTester\MethodTemplateName', true) * ('ClassGenerator\tests\ResourceClasses\ExposeTraitInterfaceTester', false) * ('ClassGenerator\tests\ResourceClasses\CExposeTraitTester\InterfaceTester', false) */ public function testBaseClass($testedClass, $haveDummyMethod) { $exposedObject = new ResourceClasses\X(101, 102); $tested = new $testedClass($exposedObject); $this->assertEquals($exposedObject->getA(), $tested->getA()); $this->assertEquals($exposedObject->getB(), $tested->getB()); $this->assertEquals($exposedObject->getA(), $tested->getA()); $tested->setB(201); $this->assertEquals(201, $tested->getB()); $this->assertEquals(201, $exposedObject->getB()); $this->assertEquals($haveDummyMethod, method_exists($tested, 'dummyMethod')); }
public function testCompound() { $x = new ResourceClasses\X(100); $d = new ResourceClasses\MethodOverridedDecoratorForX(array('getA' => function () { return parent::getA() + 1; }), $x); $this->assertEquals(100, $x->getA()); $this->assertEquals(101, $d->getA()); }
/** * @dataProvider withProvider * @_testWith ('ClassGenerator\tests\ResourceClasses\CompositeX') * ('ClassGenerator\tests\ResourceClasses\CompositeXInterface') */ public function testComposite($testedClass) { $x1 = new ResourceClasses\X(); $x2 = new ResourceClasses\X(); $composite = new $testedClass(array($x1, $x2)); $composite->setA(100); $composite->setB(101); $this->assertEquals(100, $x1->getA()); $this->assertEquals(100, $x2->getA()); $this->assertEquals(101, $x1->getB()); $this->assertEquals(101, $x2->getB()); }