#include #include #include #include #include /// @brief Проверка на создание экземпляра void testProviderCreation() { MscEngine engine({}); auto dbp1 = engine.createDBProvider(); assert(dbp1.get() != nullptr); } /// @brief Проверка на создание экземпляра с некорректным путём файла void testIncorrectFilePath() { MscEngine engine({}); try { engine.createDBProvider("/i/am/an/incorrect/path/to/file.txt"); assert(false); } catch (const std::runtime_error &error) { } } /// @brief Проверка на успешное выполнение корректного выражения void testValidStatement() { MscEngine engine({}); auto dbp = engine.createDBProvider(); dbp.get()->execute("SELECT 'hello, world' AS message;"); } void testInvalidStatement() { MscEngine engine({}); auto dbp = engine.createDBProvider(); try { dbp.get()->execute("SELECT * FROM nonexistentdatabase ABC"); assert(false); } catch (const std::runtime_error &error) { } } int main() { testProviderCreation(); testIncorrectFilePath(); testValidStatement(); testInvalidStatement(); return 0; }