File indexing completed on 2024-05-05 04:02:27
0001 /****************************************************************************** 0002 * KBlocks, a falling blocks game by KDE * 0003 * SPDX-FileCopyrightText: 2010-2021 Julian Helfferich <julian.helfferich@mailbox.org> * 0004 * * 0005 * SPDX-License-Identifier: GPL-2.0-or-later 0006 ******************************************************************************/ 0007 #ifndef MOCKSINGLEGAME_H 0008 #define MOCKSINGLEGAME_H 0009 0010 #include <memory> 0011 0012 #include "MockField.h" 0013 #include "MockPiece.h" 0014 #include "SingleGameInterface.h" 0015 0016 class FieldInterface; 0017 class PieceInterface; 0018 0019 class MockSingleGame : public SingleGameInterface 0020 { 0021 public: 0022 MockSingleGame() 0023 : SingleGameInterface(), 0024 numberOfPickGameActionCalls(0), 0025 updateGameReturnValue(0), 0026 mockField(new MockField()), 0027 mockPiece(new MockPiece()) 0028 {} 0029 ~MockSingleGame() override = default; 0030 0031 public: 0032 FieldInterface *getField() override { return mockField.get(); } 0033 0034 int getPieceCount() override { return 0; } 0035 PieceInterface *getPiece(int) override { return mockPiece.get(); } 0036 0037 bool isActive() override { return false; } 0038 bool isGameRunning() override { return false; } 0039 0040 int forceUpdateGame() override { return 0; } 0041 int updateGame() override { return updateGameReturnValue; } 0042 int continueGame() override { return 0; } 0043 0044 bool setCurrentPiece(int, int, int) override { return false; } 0045 0046 bool pickGameResult(int *) override { return false; } 0047 0048 bool pickGameAction(int *, int *) override 0049 { 0050 ++numberOfPickGameActionCalls; 0051 return false; 0052 } 0053 0054 public: 0055 unsigned int numberOfPickGameActionCalls; 0056 int updateGameReturnValue; 0057 0058 private: 0059 std::unique_ptr<FieldInterface> mockField; 0060 std::unique_ptr<PieceInterface> mockPiece; 0061 }; 0062 0063 #endif //SINGLE_GAME_INTERFACE