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()); }
public function testCompositeShouldReturnFirstNonNullValueFromFalsyValues() { $x1 = new ResourceClasses\X(); $x1->setA(false); $x1->setB(null); $x2 = new ResourceClasses\X(); $x2->setA(null); $x2->setB(0); $composite = new ResourceClasses\CompositeX(array($x1, $x2)); $this->assertEquals(false, $composite->getA()); $this->assertEquals(0, $composite->getB()); }
/** * @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 testLazyWithNoLazyMethods() { $x = ResourceClasses\LazyX2::cgGet(new ResourceClasses\X2(1, 2)); ResourceClasses\X::$constructorCount = 0; $x2 = $x->createAnotherXWithoutLazyMethods(); $this->assertEquals(0, ResourceClasses\X::$constructorCount); $x3 = $x2->createAnotherXWithoutLazyMethods(); $this->assertEquals(2, ResourceClasses\X::$constructorCount); $this->assertFalse($x3 instanceof \ClassGenerator\Interfaces\Lazy); }