/**************************************************************************** ** ** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of Qt Creator. ** ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3 as published by the Free Software ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT ** included in the packaging of this file. Please review the following ** information to ensure the GNU General Public License requirements will ** be met: https://www.gnu.org/licenses/gpl-3.0.html. ** ****************************************************************************/ #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(); };