// Copyright (C) 2020 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 #pragma once #include #include class BaseSqliteStatementMock { public: MOCK_METHOD(bool, next, ()); MOCK_METHOD(void, step, ()); MOCK_METHOD(void, reset, ()); MOCK_METHOD(int, fetchIntValue, (int), (const)); MOCK_METHOD(long, fetchLongValue, (int), (const)); MOCK_METHOD(long long, fetchLongLongValue, (int), (const)); MOCK_METHOD(double, fetchDoubleValue, (int), (const)); MOCK_METHOD(Utils::SmallString, fetchSmallStringValue, (int), (const)); MOCK_METHOD(Utils::PathString, fetchPathStringValue, (int), (const)); template Type fetchValue(int column) const; MOCK_METHOD(void, bind, (int, int), ()); MOCK_METHOD(void, bind, (int, long long), ()); MOCK_METHOD(void, bind, (int, double), ()); MOCK_METHOD(void, bind, (int, Utils::SmallStringView), ()); MOCK_METHOD(void, bind, (int, long) ); MOCK_METHOD(int, bindingIndexForName, (Utils::SmallStringView name), (const)); MOCK_METHOD(void, prepare, (Utils::SmallStringView sqlStatement)); }; template<> int BaseSqliteStatementMock::fetchValue(int column) const { return fetchIntValue(column); } template<> long BaseSqliteStatementMock::fetchValue(int column) const { return fetchLongValue(column); } template<> long long BaseSqliteStatementMock::fetchValue(int column) const { return fetchLongLongValue(column); } template<> double BaseSqliteStatementMock::fetchValue(int column) const { return fetchDoubleValue(column); } template<> Utils::SmallString BaseSqliteStatementMock::fetchValue(int column) const { return fetchSmallStringValue(column); } template<> Utils::PathString BaseSqliteStatementMock::fetchValue(int column) const { return fetchPathStringValue(column); } class SqliteStatementMock : public Sqlite::StatementImplementation> { public: explicit SqliteStatementMock() : Sqlite::StatementImplementation>() {} protected: void checkIsWritableStatement(); };