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_PLAYLISTMANAGER_H
19 #define MOCK_PLAYLISTMANAGER_H
20 
21 #include "playlist/playlistmanager.h"
22 
23 class MockPlaylistManager : public PlaylistManagerInterface {
24 public:
PlaylistManagerInterface(parent)25   MockPlaylistManager(QObject* parent = NULL) : PlaylistManagerInterface(parent) {}
26 
27   MOCK_CONST_METHOD0(current_id, int());
28   MOCK_CONST_METHOD0(active_id, int());
29 
30   MOCK_CONST_METHOD1(playlist, Playlist*(int));
31   MOCK_CONST_METHOD0(current, Playlist*());
32   MOCK_CONST_METHOD0(active, Playlist*());
33 
34   MOCK_CONST_METHOD0(GetAllPlaylists, QList<Playlist*>());
35   MOCK_METHOD0(InvalidateDeletedSongs, void());
36   MOCK_METHOD0(RemoveDeletedSongs, void());
37 
38   MOCK_CONST_METHOD1(selection, QItemSelection(int));
39   MOCK_CONST_METHOD0(current_selection, QItemSelection());
40   MOCK_CONST_METHOD0(active_selection, QItemSelection());
41 
42   MOCK_CONST_METHOD1(GetPlaylistName, QString(int));
43   MOCK_CONST_METHOD0(task_manager, TaskManager*());
44   MOCK_CONST_METHOD0(library_backend, LibraryBackend*());
45   MOCK_CONST_METHOD0(playlist_backend, PlaylistBackend*());
46   MOCK_CONST_METHOD0(sequence, PlaylistSequence*());
47   MOCK_CONST_METHOD0(parser, PlaylistParser*());
48   MOCK_CONST_METHOD0(playlist_container, PlaylistContainer*());
49 
50   MOCK_METHOD1(RegisterSpecialPlaylistType, void(SpecialPlaylistType*));
51   MOCK_METHOD1(UnregisterSpecialPlaylistType, void(SpecialPlaylistType*));
52   MOCK_CONST_METHOD1(GetPlaylistType, SpecialPlaylistType*(const QString&));
53 
54   MOCK_METHOD3(New, void(const QString&, const SongList&, const QString&));
55   MOCK_METHOD1(Load, void(const QString&));
56   MOCK_METHOD2(Save, void(int, const QString&));
57   MOCK_METHOD2(Rename, void(int, const QString&));
58   MOCK_METHOD1(Remove, void(int));
59   MOCK_METHOD1(ChangePlaylistOrder, void(const QList<int>&));
60 
61   MOCK_METHOD1(SetCurrentPlaylist, void(int));
62   MOCK_METHOD1(SetActivePlaylist, void(int));
63   MOCK_METHOD0(SetActiveToCurrent, void());
64 
65   MOCK_METHOD1(SelectionChanged, void(const QItemSelection&));
66 
67   MOCK_METHOD0(ClearCurrent, void());
68   MOCK_METHOD0(ShuffleCurrent, void());
69   MOCK_METHOD0(SetActivePlaying, void());
70   MOCK_METHOD0(SetActivePaused, void());
71   MOCK_METHOD0(SetActiveStopped, void());
72   MOCK_METHOD2(SetActiveStreamMetadata, void(const QUrl&, const Song&));
73   MOCK_METHOD1(RateCurrentSong, void(double));
74   MOCK_METHOD1(RateCurrentSong, void(int));
75 
76   MOCK_METHOD2(SongChangeRequestProcessed, void(const QUrl& url, bool));
77 
78   MOCK_METHOD3(PlaySmartPlaylist, void(smart_playlists::GeneratorPtr, bool, bool));
79 
EmitPlaylistManagerInitialized()80   void EmitPlaylistManagerInitialized() {
81     emit PlaylistManagerInitialized();
82   }
83 };
84 
85 #endif // MOCK_PLAYLISTMANAGER_H
86