|
| 1 | +#pragma once |
| 2 | + |
| 3 | +#include <scratchcpp/iengine.h> |
| 4 | +#include <gmock/gmock.h> |
| 5 | + |
| 6 | +using namespace libscratchcpp; |
| 7 | + |
| 8 | +namespace scratchcppgui |
| 9 | +{ |
| 10 | + |
| 11 | +using ScriptMap = std::unordered_map<std::shared_ptr<Block>, std::shared_ptr<Script>>; |
| 12 | + |
| 13 | +class EngineMock : public IEngine |
| 14 | +{ |
| 15 | + public: |
| 16 | + MOCK_METHOD(void, clear, (), (override)); |
| 17 | + MOCK_METHOD(void, compile, (), (override)); |
| 18 | + |
| 19 | + MOCK_METHOD(void, start, (), (override)); |
| 20 | + MOCK_METHOD(void, stop, (), (override)); |
| 21 | + MOCK_METHOD(void, startScript, (std::shared_ptr<Block>, std::shared_ptr<Target>), (override)); |
| 22 | + MOCK_METHOD(void, broadcast, (unsigned int, VirtualMachine *, bool), (override)); |
| 23 | + MOCK_METHOD(void, broadcastByPtr, (Broadcast *, VirtualMachine *, bool), (override)); |
| 24 | + MOCK_METHOD(void, stopScript, (VirtualMachine *), (override)); |
| 25 | + MOCK_METHOD(void, stopTarget, (Target *, VirtualMachine *), (override)); |
| 26 | + MOCK_METHOD(void, initClone, (Sprite *), (override)); |
| 27 | + MOCK_METHOD(void, deinitClone, (Sprite *), (override)); |
| 28 | + |
| 29 | + MOCK_METHOD(void, run, (), (override)); |
| 30 | + MOCK_METHOD(void, runEventLoop, (), (override)); |
| 31 | + MOCK_METHOD(void, stopEventLoop, (), (override)); |
| 32 | + |
| 33 | + MOCK_METHOD(void, setRedrawHandler, (const std::function<void()> &), (override)); |
| 34 | + |
| 35 | + MOCK_METHOD(bool, isRunning, (), (const, override)); |
| 36 | + |
| 37 | + MOCK_METHOD(double, fps, (), (const, override)); |
| 38 | + MOCK_METHOD(void, setFps, (double fps), (override)); |
| 39 | + |
| 40 | + MOCK_METHOD(bool, turboModeEnabled, (), (const, override)); |
| 41 | + MOCK_METHOD(void, setTurboModeEnabled, (bool), (override)); |
| 42 | + |
| 43 | + MOCK_METHOD(bool, keyPressed, (const std::string &), (const, override)); |
| 44 | + MOCK_METHOD(void, setKeyState, (const std::string &, bool), (override)); |
| 45 | + MOCK_METHOD(void, setAnyKeyPressed, (bool), (override)); |
| 46 | + |
| 47 | + MOCK_METHOD(double, mouseX, (), (const, override)); |
| 48 | + MOCK_METHOD(void, setMouseX, (double x), (override)); |
| 49 | + |
| 50 | + MOCK_METHOD(double, mouseY, (), (const, override)); |
| 51 | + MOCK_METHOD(void, setMouseY, (double y), (override)); |
| 52 | + |
| 53 | + MOCK_METHOD(bool, mousePressed, (), (const, override)); |
| 54 | + MOCK_METHOD(void, setMousePressed, (bool), (override)); |
| 55 | + |
| 56 | + MOCK_METHOD(unsigned int, stageWidth, (), (const, override)); |
| 57 | + MOCK_METHOD(void, setStageWidth, (unsigned int), (override)); |
| 58 | + |
| 59 | + MOCK_METHOD(unsigned int, stageHeight, (), (const, override)); |
| 60 | + MOCK_METHOD(void, setStageHeight, (unsigned int), (override)); |
| 61 | + |
| 62 | + MOCK_METHOD(int, cloneLimit, (), (const, override)); |
| 63 | + MOCK_METHOD(void, setCloneLimit, (int), (override)); |
| 64 | + |
| 65 | + MOCK_METHOD(int, cloneCount, (), (const, override)); |
| 66 | + |
| 67 | + MOCK_METHOD(bool, spriteFencingEnabled, (), (const, override)); |
| 68 | + MOCK_METHOD(void, setSpriteFencingEnabled, (bool), (override)); |
| 69 | + |
| 70 | + MOCK_METHOD(bool, broadcastRunning, (unsigned int, VirtualMachine *), (override)); |
| 71 | + MOCK_METHOD(bool, broadcastByPtrRunning, (Broadcast *, VirtualMachine *), (override)); |
| 72 | + |
| 73 | + MOCK_METHOD(void, requestRedraw, (), (override)); |
| 74 | + |
| 75 | + MOCK_METHOD(ITimer *, timer, (), (const, override)); |
| 76 | + |
| 77 | + MOCK_METHOD(void, registerSection, (std::shared_ptr<IBlockSection>), (override)); |
| 78 | + MOCK_METHOD(unsigned int, functionIndex, (BlockFunc), (override)); |
| 79 | + |
| 80 | + MOCK_METHOD(void, addCompileFunction, (IBlockSection *, const std::string &, BlockComp), (override)); |
| 81 | + MOCK_METHOD(void, addHatBlock, (IBlockSection *, const std::string &), (override)); |
| 82 | + MOCK_METHOD(void, addInput, (IBlockSection *, const std::string &, int), (override)); |
| 83 | + MOCK_METHOD(void, addField, (IBlockSection *, const std::string &, int), (override)); |
| 84 | + MOCK_METHOD(void, addFieldValue, (IBlockSection *, const std::string &, int), (override)); |
| 85 | + |
| 86 | + MOCK_METHOD(const std::vector<std::shared_ptr<Broadcast>> &, broadcasts, (), (const, override)); |
| 87 | + MOCK_METHOD(void, setBroadcasts, (const std::vector<std::shared_ptr<Broadcast>> &), (override)); |
| 88 | + MOCK_METHOD(std::shared_ptr<Broadcast>, broadcastAt, (int), (const, override)); |
| 89 | + MOCK_METHOD(int, findBroadcast, (const std::string &), (const, override)); |
| 90 | + MOCK_METHOD(int, findBroadcastById, (const std::string &), (const, override)); |
| 91 | + |
| 92 | + MOCK_METHOD(void, addBroadcastScript, (std::shared_ptr<Block>, Broadcast *), (override)); |
| 93 | + MOCK_METHOD(void, addCloneInitScript, (std::shared_ptr<Block>), (override)); |
| 94 | + MOCK_METHOD(void, addKeyPressScript, (std::shared_ptr<Block>, std::string), (override)); |
| 95 | + |
| 96 | + MOCK_METHOD(const std::vector<std::shared_ptr<Target>> &, targets, (), (const, override)); |
| 97 | + MOCK_METHOD(void, setTargets, (const std::vector<std::shared_ptr<Target>> &), (override)); |
| 98 | + MOCK_METHOD(Target *, targetAt, (int), (const, override)); |
| 99 | + MOCK_METHOD(int, findTarget, (const std::string &), (const, override)); |
| 100 | + |
| 101 | + MOCK_METHOD(void, moveSpriteToFront, (Sprite * sprite), (override)); |
| 102 | + MOCK_METHOD(void, moveSpriteToBack, (Sprite * sprite), (override)); |
| 103 | + MOCK_METHOD(void, moveSpriteForwardLayers, (Sprite * sprite, int layers), (override)); |
| 104 | + MOCK_METHOD(void, moveSpriteBackwardLayers, (Sprite * sprite, int layers), (override)); |
| 105 | + MOCK_METHOD(void, moveSpriteBehindOther, (Sprite * sprite, Sprite *other), (override)); |
| 106 | + |
| 107 | + MOCK_METHOD(Stage *, stage, (), (const, override)); |
| 108 | + |
| 109 | + MOCK_METHOD(std::vector<std::string> &, extensions, (), (const, override)); |
| 110 | + MOCK_METHOD(void, setExtensions, (const std::vector<std::string> &), (override)); |
| 111 | + |
| 112 | + MOCK_METHOD(const ScriptMap &, scripts, (), (const, override)); |
| 113 | +}; |
| 114 | + |
| 115 | +} // namespace libscratchcpp |
0 commit comments