/** * @dataProvider getData * * @param array $data * * @return void */ public function test_function(array $data) { // prepare $this->setExpectedException('DbMockLibrary\\Exceptions\\InvalidDependencyException', $data['errorMessage']); DependencyHandler::initDependencyHandler($data['data']); $reflection = new \ReflectionClass(DependencyHandler::getInstance()); $validateCollectionsMethod = $reflection->getMethod('validate'); $validateCollectionsMethod->setAccessible(true); // invoke logic & test $validateCollectionsMethod->invoke(DependencyHandler::getInstance(), $data['dependencies']); }
/** * @param array $data * * @dataProvider getData * * @return void */ public function test_function(array $data) { // prepare $this->setExpectedException('\\UnexpectedValueException', 'Invalid input'); DependencyHandler::initDependencyHandler([]); $reflection = new \ReflectionClass('\\DbMockLibrary\\DependencyHandler'); $dependenciesMethod = $reflection->getMethod('repackDependencies'); $dependenciesMethod->setAccessible(true); // invoke logic & test $dependenciesMethod->invoke(DependencyHandler::getInstance(), $data['data']); }
/** * @return void */ public function test_function() { // prepare $extracted = [['a' => ['a1']], ['c' => ['c1']], ['d' => ['d1', 'd2']], ['b' => ['b1']], ['d' => ['d1']]]; $expected = ['a' => ['i' => 0, 'a1'], 'c' => ['i' => 1, 'c1'], 'b' => ['i' => 3, 'b1'], 'd' => ['i' => 4, 'd1', 'd2', 'd1']]; DependencyHandler::initDependencyHandler([]); $reflection = new \ReflectionClass('\\DbMockLibrary\\DependencyHandler'); $dependenciesMethod = $reflection->getMethod('repackDependencies'); $dependenciesMethod->setAccessible(true); // test $this->assertEquals($expected, $dependenciesMethod->invoke(DependencyHandler::getInstance(), $extracted)); }
/** * @return void */ public function test_function() { // prepare $wanted = ['a' => ['a1']]; $data = ['a' => ['a1' => ['aa1' => 1, 'aa2' => 2], 'a2' => ['aa1' => 3, 'aa2' => 4]], 'b' => ['b1' => ['bb1' => 1, 'bb2' => 2], 'b2' => ['bb1' => 3, 'bb2' => 4]], 'c' => ['c1' => ['cc1' => 1, 'cc2' => 2], 'c2' => ['cc1' => 3, 'cc2' => 4]], 'd' => ['d1' => ['dd1' => 1, 'dd2' => 2], 'd2' => ['dd1' => 3, 'dd2' => 2]]]; $dependencies = [[DependencyHandler::DEPENDENT => ['b' => 'bb1'], DependencyHandler::ON => ['d' => 'dd1']], [DependencyHandler::DEPENDENT => ['a' => 'aa1'], DependencyHandler::ON => ['c' => 'cc1']], [DependencyHandler::DEPENDENT => ['c' => 'cc2'], DependencyHandler::ON => ['d' => 'dd2']], [DependencyHandler::DEPENDENT => ['a' => 'aa1'], DependencyHandler::ON => ['b' => 'bb1']]]; $expected = [['d' => ['d1', 'd2']], ['b' => ['b1']], ['c' => ['c1']], ['a' => ['a1']]]; DependencyHandler::initDependencyHandler($data, $dependencies); $reflection = new \ReflectionClass('\\DbMockLibrary\\DependencyHandler'); $dependenciesMethod = $reflection->getMethod('prepareDependencies'); $dependenciesMethod->setAccessible(true); // test $this->assertEquals($expected, $dependenciesMethod->invoke(DependencyHandler::getInstance(), $wanted)); }
/** * @return void */ public function test_function() { // invoke logic $dataArray = ['foo1' => ['bar1' => ['baz1' => 1]], 'foo2' => ['bar2' => ['baz2' => 2]]]; $dependencies = [[DependencyHandler::DEPENDENT => ['foo1' => 'baz1'], DependencyHandler::ON => ['foo2' => 'baz2']]]; DependencyHandler::initDependencyHandler($dataArray, $dependencies); // prepare $reflection = new \ReflectionClass('\\DbMockLibrary\\DependencyHandler'); $staticProperties = $reflection->getStaticProperties(); $dependenciesProperty = $reflection->getProperty('dependencies'); $dependenciesProperty->setAccessible(true); // test $this->assertInstanceOf('\\DbMockLibrary\\DependencyHandler', $staticProperties['instance']); $this->assertEquals($dependencies, $dependenciesProperty->getValue(DependencyHandler::getInstance())); }
<?php require 'vendor/autoload.php'; use DbMockLibrary\DependencyHandler; $data = ['a' => ['a1' => ['aa1' => 1, 'aa2' => 2], 'a2' => ['aa1' => 3, 'aa2' => 4]], 'b' => ['b1' => ['bb1' => 1, 'bb2' => 2], 'b2' => ['bb1' => 3, 'bb2' => 4]], 'c' => ['c1' => ['cc1' => 1, 'cc2' => 2], 'c2' => ['cc1' => 3, 'cc2' => 4]], 'd' => ['d1' => ['dd1' => 1, 'dd2' => 2], 'd2' => ['dd1' => 3, 'dd2' => 2]]]; $dependencies = [[DependencyHandler::DEPENDENT => ['b' => 'bb1'], DependencyHandler::ON => ['d' => 'dd1']], [DependencyHandler::DEPENDENT => ['a' => 'aa1'], DependencyHandler::ON => ['c' => 'cc1']], [DependencyHandler::DEPENDENT => ['c' => 'cc2'], DependencyHandler::ON => ['d' => 'dd2']], [DependencyHandler::DEPENDENT => ['a' => 'aa1'], DependencyHandler::ON => ['b' => 'bb1']]]; $wanted = ['a' => ['a1']]; DependencyHandler::initDependencyHandler($data, $dependencies); var_dump(DependencyHandler::getInstance()->prepareDependencies($wanted));