1 /* This file is part of Clementine.
2    Copyright 2010, David Sansome <me@davidsansome.com>
3 
4    Clementine is free software: you can redistribute it and/or modify
5    it under the terms of the GNU General Public License as published by
6    the Free Software Foundation, either version 3 of the License, or
7    (at your option) any later version.
8 
9    Clementine is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12    GNU General Public License for more details.
13 
14    You should have received a copy of the GNU General Public License
15    along with Clementine.  If not, see <http://www.gnu.org/licenses/>.
16 */
17 
18 #ifndef MOCK_ENGINE_H
19 #define MOCK_ENGINE_H
20 
21 #include <gmock/gmock.h>
22 
23 #include "engines/enginebase.h"
24 
25 class MockEngine : public Engine::Base {
26 public:
27   MOCK_METHOD0(Init, bool());
28   MOCK_METHOD1(CanDecode, bool(const QUrl&));
29 
30   MOCK_METHOD1(StartPreloading, void(const QUrl&));
31   MOCK_METHOD1(Play, bool(quint64));
32   MOCK_METHOD0(Stop, void());
33   MOCK_METHOD0(Pause, void());
34   MOCK_METHOD0(Unpause, void());
35   MOCK_METHOD1(Seek, void(quint64));
36 
37   MOCK_METHOD1(AddBackgroundStream, int(const QUrl&));
38   MOCK_METHOD1(StopBackgroundStream, void(int));
39   MOCK_METHOD2(SetBackgroundStreamVolume, void(int, int));
40 
41   MOCK_CONST_METHOD0(state, Engine::State());
42   MOCK_CONST_METHOD0(position_nanosec, qint64());
43   MOCK_CONST_METHOD0(length_nanosec, qint64());
44 
45   MOCK_METHOD1(SetVolumeSW, void(uint));
46 };
47 
48 #endif // MOCK_ENGINE_H
49