kde-extraapps/amarok/tests/mocks/MockQueryMaker.h
2014-11-28 15:37:25 +00:00

186 lines
6.1 KiB
C++

/****************************************************************************************
* Copyright (c) 2012 Jasneet Singh Bhatti <jazneetbhatti@gmail.com> *
* This program is free software; you can redistribute it and/or modify it under *
* the terms of the GNU General Public License as published by the Free Software *
* Foundation; either version 2 of the License, or (at your option) any later *
* version. *
* *
* This program is distributed in the hope that it will be useful, but WITHOUT ANY *
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A *
* PARTICULAR PURPOSE. See the GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License along with *
* this program. If not, see <http://www.gnu.org/licenses/>. *
****************************************************************************************/
#ifndef COLLECTIONS_MOCKQUERYMAKER
#define COLLECTIONS_MOCKQUERYMAKER
#include "core/collections/QueryMaker.h"
using namespace Collections;
/**
* Ad-hoc mock to test the QueryMaker class
*/
class MockQueryMaker : public QueryMaker
{
Q_OBJECT
public:
/**
* For the vtable generated by the compiler
*/
virtual ~MockQueryMaker();
/**
* To prevent QueryMaker::addMatch( const Meta::LabelPtr& ) from being hidden
*/
using QueryMaker::addMatch;
/**
* Mock implementations of pure virtual methods of class Collections::QueryMaker
* to enable creation of an instance of this mock class
*
* NOT TO BE USED ANYWHERE IN THE TEST
*/
virtual void run()
{
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
}
virtual void abortQuery()
{
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
}
virtual QueryMaker *setQueryType( QueryType )
{
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
return 0;
}
virtual QueryMaker *addReturnValue( qint64 )
{
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
return 0;
}
virtual QueryMaker *addReturnFunction( ReturnFunction, qint64 )
{
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
return 0;
}
virtual QueryMaker *orderBy( qint64, bool )
{
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
return 0;
}
virtual QueryMaker *addMatch( const Meta::TrackPtr& )
{
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
return 0;
}
virtual QueryMaker *addMatch( const Meta::ArtistPtr& , ArtistMatchBehaviour )
{
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
return 0;
}
virtual QueryMaker *addMatch( const Meta::AlbumPtr& )
{
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
return 0;
}
virtual QueryMaker *addMatch( const Meta::ComposerPtr& )
{
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
return 0;
}
virtual QueryMaker *addMatch( const Meta::GenrePtr& )
{
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
return 0;
}
virtual QueryMaker *addMatch( const Meta::YearPtr& )
{
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
return 0;
}
virtual QueryMaker *addFilter( qint64, const QString&, bool, bool )
{
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
return 0;
}
virtual QueryMaker *excludeFilter( qint64, const QString&, bool, bool )
{
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
return 0;
}
virtual QueryMaker *addNumberFilter( qint64, qint64, NumberComparison )
{
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
return 0;
}
virtual QueryMaker *excludeNumberFilter( qint64, qint64, NumberComparison )
{
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
return 0;
}
virtual QueryMaker *limitMaxResultSize( int )
{
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
return 0;
}
virtual QueryMaker *beginAnd()
{
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
return 0;
}
virtual QueryMaker *beginOr()
{
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
return 0;
}
virtual QueryMaker *endAndOr()
{
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
return 0;
}
/**
* This method helps to determine if queryDone() has been connected/disconnected
* with slot deleteLater()
*/
virtual void emitQueryDone()
{
emit queryDone();
}
public slots:
/**
* Overrides the default deleteLater() slot provided by QObject since the default
* slot implements a deferred delete of the object and is not easily testable
* We only need to test if the slot is triggered or not
*/
virtual void deleteLater()
{
emit destroyed();
}
};
#endif // COLLECTIONS_MOCKQUERYMAKER_H