public function testUseStatements() { $class = new PhpClass(); $this->assertEquals([], $class->getAttributes()); $this->assertSame($class, $class->setAttributes(['foo' => 'bar'])); $this->assertEquals(['foo' => 'bar'], $class->getAttributes()); $this->assertSame($class, $class->setAttribute('key', 'val')); $this->assertEquals(['foo' => 'bar', 'key' => 'val'], $class->getAttributes()); $this->assertTrue($class->hasAttribute('foo')); $this->assertSame('bar', $class->removeAttribute('foo')); $this->assertEquals(['key' => 'val'], $class->getAttributes()); $this->assertTrue($class->hasAttribute('key')); $this->assertEquals('val', $class->getAttribute('key')); $this->assertEquals('bar', $class->getAttributeOrElse('foo', 'bar')); $this->assertEquals('val', $class->getAttributeOrElse('key', 'bar')); }