diff --git a/tests/Adapters/MongoDatabaseAdapterTest.php b/tests/Adapters/MongoDatabaseAdapterTest.php new file mode 100644 index 0000000..5ac3fc1 --- /dev/null +++ b/tests/Adapters/MongoDatabaseAdapterTest.php @@ -0,0 +1,54 @@ +markTestSkipped('MongoDB\Database class is not available.'); + } + } + + public function test_it_implements_adapter_interface(): void + { + $driver = $this->createStub('MongoDB\Database'); + $adapter = new MongoDatabaseAdapter($driver); + + $this->assertInstanceOf(AdapterInterface::class, $adapter); + } + + public function test_construction_and_get_driver(): void + { + $driver = $this->createStub('MongoDB\Database'); + $adapter = new MongoDatabaseAdapter($driver); + + $this->assertSame($driver, $adapter->getDriver()); + } + + public function test_get_driver_returns_correct_type(): void + { + $driver = $this->createStub('MongoDB\Database'); + $adapter = new MongoDatabaseAdapter($driver); + + $this->assertInstanceOf('MongoDB\Database', $adapter->getDriver()); + } + + public function test_repeated_calls_return_same_instance(): void + { + $driver = $this->createStub('MongoDB\Database'); + $adapter = new MongoDatabaseAdapter($driver); + + $first = $adapter->getDriver(); + $second = $adapter->getDriver(); + + $this->assertSame($first, $second); + } +} diff --git a/tests/Adapters/MySQLDBALAdapterTest.php b/tests/Adapters/MySQLDBALAdapterTest.php new file mode 100644 index 0000000..c698f34 --- /dev/null +++ b/tests/Adapters/MySQLDBALAdapterTest.php @@ -0,0 +1,54 @@ +markTestSkipped('Doctrine DBAL Connection class is not available.'); + } + } + + public function test_it_implements_adapter_interface(): void + { + $driver = $this->createStub('Doctrine\DBAL\Connection'); + $adapter = new MySQLDBALAdapter($driver); + + $this->assertInstanceOf(AdapterInterface::class, $adapter); + } + + public function test_construction_and_get_driver(): void + { + $driver = $this->createStub('Doctrine\DBAL\Connection'); + $adapter = new MySQLDBALAdapter($driver); + + $this->assertSame($driver, $adapter->getDriver()); + } + + public function test_get_driver_returns_correct_type(): void + { + $driver = $this->createStub('Doctrine\DBAL\Connection'); + $adapter = new MySQLDBALAdapter($driver); + + $this->assertInstanceOf('Doctrine\DBAL\Connection', $adapter->getDriver()); + } + + public function test_repeated_calls_return_same_instance(): void + { + $driver = $this->createStub('Doctrine\DBAL\Connection'); + $adapter = new MySQLDBALAdapter($driver); + + $first = $adapter->getDriver(); + $second = $adapter->getDriver(); + + $this->assertSame($first, $second); + } +} diff --git a/tests/Adapters/MySQLPDOAdapterTest.php b/tests/Adapters/MySQLPDOAdapterTest.php new file mode 100644 index 0000000..cd06720 --- /dev/null +++ b/tests/Adapters/MySQLPDOAdapterTest.php @@ -0,0 +1,54 @@ +markTestSkipped('PDO class is not available.'); + } + } + + public function test_it_implements_adapter_interface(): void + { + $driver = $this->createStub(\PDO::class); + $adapter = new MySQLPDOAdapter($driver); + + $this->assertInstanceOf(AdapterInterface::class, $adapter); + } + + public function test_construction_and_get_driver(): void + { + $driver = $this->createStub(\PDO::class); + $adapter = new MySQLPDOAdapter($driver); + + $this->assertSame($driver, $adapter->getDriver()); + } + + public function test_get_driver_returns_correct_type(): void + { + $driver = $this->createStub(\PDO::class); + $adapter = new MySQLPDOAdapter($driver); + + $this->assertInstanceOf(\PDO::class, $adapter->getDriver()); + } + + public function test_repeated_calls_return_same_instance(): void + { + $driver = $this->createStub(\PDO::class); + $adapter = new MySQLPDOAdapter($driver); + + $first = $adapter->getDriver(); + $second = $adapter->getDriver(); + + $this->assertSame($first, $second); + } +} diff --git a/tests/Adapters/RedisAdapterTest.php b/tests/Adapters/RedisAdapterTest.php new file mode 100644 index 0000000..d2e0b85 --- /dev/null +++ b/tests/Adapters/RedisAdapterTest.php @@ -0,0 +1,54 @@ +markTestSkipped('Redis class is not available.'); + } + } + + public function test_it_implements_adapter_interface(): void + { + $driver = $this->createStub(\Redis::class); + $adapter = new RedisAdapter($driver); + + $this->assertInstanceOf(AdapterInterface::class, $adapter); + } + + public function test_construction_and_get_driver(): void + { + $driver = $this->createStub(\Redis::class); + $adapter = new RedisAdapter($driver); + + $this->assertSame($driver, $adapter->getDriver()); + } + + public function test_get_driver_returns_correct_type(): void + { + $driver = $this->createStub(\Redis::class); + $adapter = new RedisAdapter($driver); + + $this->assertInstanceOf(\Redis::class, $adapter->getDriver()); + } + + public function test_repeated_calls_return_same_instance(): void + { + $driver = $this->createStub(\Redis::class); + $adapter = new RedisAdapter($driver); + + $first = $adapter->getDriver(); + $second = $adapter->getDriver(); + + $this->assertSame($first, $second); + } +} diff --git a/tests/Adapters/RedisPredisAdapterTest.php b/tests/Adapters/RedisPredisAdapterTest.php new file mode 100644 index 0000000..55de73c --- /dev/null +++ b/tests/Adapters/RedisPredisAdapterTest.php @@ -0,0 +1,54 @@ +markTestSkipped('Predis\Client class is not available.'); + } + } + + public function test_it_implements_adapter_interface(): void + { + $driver = $this->createStub('Predis\Client'); + $adapter = new RedisPredisAdapter($driver); + + $this->assertInstanceOf(AdapterInterface::class, $adapter); + } + + public function test_construction_and_get_driver(): void + { + $driver = $this->createStub('Predis\Client'); + $adapter = new RedisPredisAdapter($driver); + + $this->assertSame($driver, $adapter->getDriver()); + } + + public function test_get_driver_returns_correct_type(): void + { + $driver = $this->createStub('Predis\Client'); + $adapter = new RedisPredisAdapter($driver); + + $this->assertInstanceOf('Predis\Client', $adapter->getDriver()); + } + + public function test_repeated_calls_return_same_instance(): void + { + $driver = $this->createStub('Predis\Client'); + $adapter = new RedisPredisAdapter($driver); + + $first = $adapter->getDriver(); + $second = $adapter->getDriver(); + + $this->assertSame($first, $second); + } +}