/** * @dataProvider getData * * @param array $data * * @return void */ public function test_function(array $data) { // prepare $this->setExpectedException($data['exception'], $data['errorMessage']); // invoke logic Mongo::initMongo($data['initialData'], $data['database'], []); if (isset($data['initTwice'])) { Mongo::initMongo($data['initialData'], $data['database'], []); } }
public function setUp() { if (is_null($this->database)) { $client = new \MongoClient(); $this->database = $client->selectDB('DbMockLibraryTest'); } $this->database->dropCollection('testCollection'); $this->database->createCollection('testCollection'); Mongo::initMongo(['testCollection' => [1 => ['foo' => 0, '_id' => 0]]], 'DbMockLibraryTest', []); }
/** * @dataProvider getData * * @param array $data * * @return void */ public function test_function(array $data) { // prepare Mongo::initMongo(['collection1' => ['id1' => [1], 'id2' => [2]], 'collection2' => ['id3' => [1], 'id4' => [2]]], 'foo', []); $reflection = new \ReflectionClass('\\DbMockLibrary\\DbImplementations\\Mongo'); $dataProperty = $reflection->getProperty('data'); $dataProperty->setAccessible(true); $dataProperty->setValue(Mongo::getInstance(), ['collection1' => [], 'collection2' => []]); // invoke logic Mongo::getInstance()->revertCollections($data['collections']); // test $this->assertEquals($data['expected'], $dataProperty->getValue(Mongo::getInstance())); }
/** * @return void */ public function test_function() { // prepare $dataArray = ['testCollection' => [1 => ['foo' => 1, 'id' => 1]]]; // invoke logic Mongo::initMongo($dataArray, 'DbMockLibraryTest', []); // prepare $reflection = new \ReflectionClass('\\DbMockLibrary\\DbImplementations\\Mongo'); $staticProperties = $reflection->getStaticProperties(); // test $this->assertInstanceOf('\\DbMockLibrary\\DbImplementations\\Mongo', $staticProperties['instance']); $this->assertEquals($dataArray, $staticProperties['initialData']); // prepare $dataProperty = $reflection->getProperty('data'); $dataProperty->setAccessible(true); // test $this->assertEquals($dataArray, $dataProperty->getValue($staticProperties['instance'])); }
/** * @return void */ public function test_function() { // prepare $dataArray = ['foo' => 1]; Mongo::initMongo($dataArray, 'fooBar', []); $reflection = new \ReflectionClass('\\DbMockLibrary\\DbImplementations\\Mongo'); $staticProperties = $reflection->getStaticProperties(); $dataProperty = $reflection->getProperty('data'); $dataProperty->setAccessible(true); // test $this->assertEquals($dataArray, $dataProperty->getValue($staticProperties['instance'])); // prepare $dataProperty->setValue($staticProperties['instance'], [2]); // test $this->assertNotEquals($dataArray, $dataProperty->getValue($staticProperties['instance'])); // invoke logic Mongo::getInstance()->resetData(); // test $this->assertEquals($dataArray, $dataProperty->getValue($staticProperties['instance'])); }