assertEquals('value', $cfgORM->initial); // Assert when set and changed $cfgORM->other = 'nothing'; $cfgORM->initial = 'otherValue'; $this->assertEquals('nothing', $cfgORM->other); $this->assertEquals('otherValue', $cfgORM->initial); // Revert it $cfgORM->revert(); // Assert not set $this->assertFalse(isset($cfgORM->other)); $this->assertEquals('value', $cfgORM->initial); } /** * @covers ::replace */ public function testReplaceWithNewValues() { // First load the Mock ORM $cfgORM = new ConfigORMMock(); // Assert initial values $this->assertEquals('value', $cfgORM->initial); // Create replacement array $replace = ['something' => 'wonderful', 'anything' => 'else']; // Assert not yet set $this->assertFalse(isset($cfgORM->something)); $this->assertFalse(isset($cfgORM->anything)); // Replace it $cfgORM->replace($replace); // Assert now set $this->assertEquals('value', $cfgORM->initial); $this->assertEquals('wonderful', $cfgORM->something); $this->assertEquals('else', $cfgORM->anything); } /** * @depends testReplaceWithNewValues * @covers ::replace */ public function testReplaceExistingValues() { // First load the Mock ORM $cfgORM = new ConfigORMMock(); // Assert initial values $this->assertEquals('value', $cfgORM->initial); // Create replacement array $replace = ['initial' => 'otherValue', 'something' => 'wonderful', 'anything' => 'else']; // Assert not yet set $this->assertFalse(isset($cfgORM->something)); $this->assertFalse(isset($cfgORM->anything)); $this->assertNotEquals('otherValue', $cfgORM->initial); // Replace it $cfgORM->replace($replace); // Assert now set $this->assertEquals('otherValue', $cfgORM->initial); $this->assertEquals('wonderful', $cfgORM->something); $this->assertEquals('else', $cfgORM->anything); } /** * @covers ::toArray */ public function testToArray() { // First load the Mock ORM $cfgORM = new ConfigORMMock(); // Assert ORM is an object $this->assertIsObject($cfgORM); // Assert output of toArray is an array $this->assertIsArray($cfgORM->toArray()); // Assert array is as expected $this->assertEquals(['initial' => 'value'], $cfgORM->toArray()); } /** * @depends testToArray * @covers ::clear */ public function testClear() { // First load the Mock ORM $cfgORM = new ConfigORMMock(); // Assert initial values $this->assertEquals('value', $cfgORM->initial); // Clear the cfg $cfgORM->clear(); // Assert not set and empty $this->assertFalse(isset($cfgORM->initial)); $this->assertEmpty($cfgORM->toArray()); } } class ConfigORMMock extends ConfigORMAbstract { public function __construct() { $this->originalCfg['initial'] = 'value'; $this->cfg['initial'] = 'value'; } }