2 * This file is part of QMAFW
4 * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). All rights
7 * Contact: Visa Smolander <visa.smolander@nokia.com>
9 * This software, including documentation, is protected by copyright controlled
10 * by Nokia Corporation. All rights are reserved. Copying, including
11 * reproducing, storing, adapting or translating, any or all of this material
12 * requires the prior written consent of Nokia Corporation. This material also
13 * contains confidential information which may not be disclosed to others
14 * without the prior written consent of Nokia.
20 #include <QStringList>
22 #include "MafwStubHelper.h"
24 MafwStubHelper::MafwStubHelper()
26 m_expectedCalls = QQueue<ExpectedItem*>();
29 MafwStubHelper::~MafwStubHelper()
34 void MafwStubHelper::printExpects() const
36 QStringList expectedNames;
37 for(int i=0; i<m_expectedCalls.size(); i++ )
39 expectedNames << m_expectedCalls[i]->expectedName;
41 qDebug() << "Expected calls enqueued (" << m_expectedCalls.size() << "): \n\t" << expectedNames.join(",\n\t ");
44 void MafwStubHelper::expect(const QString& function, QVariant returnVal)
46 QList<QVariant> emptyParams;
47 QList<QVariant> returnList;
48 returnList << returnVal;
49 expect(function, emptyParams, returnList);
53 void MafwStubHelper::expect(const QString function, const QList<QVariant> params,
54 const QList<QVariant> returns)
56 qDebug() << "MafwStubHelper::expect, function = " << function << " " << returns.at(0);
58 ExpectedItem* item = new ExpectedItem;
59 item->expectedName = function;
60 item->expectedParams = params;
61 item->returnValues = returns;
62 m_expectedCalls.enqueue(item);
65 QVariant MafwStubHelper::getReturn(const QString& function)
67 QList<QVariant> emptyParams;
68 QList<QVariant> returnList;
69 getReturn(function, emptyParams, returnList);
70 if (returnList.isEmpty())
76 return returnList.first();
80 void MafwStubHelper::getReturn(const QString function, const QList<QVariant> params,
81 QList<QVariant>& returns)
83 // Check if the call is expected
84 if ( m_expectedCalls.isEmpty() )
86 qDebug() << "MafwStubHelper::getReturn, function = " << function <<", no expected calls";
89 if (!m_expectedCalls.isEmpty() && function.compare(m_expectedCalls.head()->expectedName))
91 qDebug() << "MafwStubHelper::getReturn: " << function << ", not expected (2)";
95 ExpectedItem* item = m_expectedCalls.dequeue();
97 // Check if the parameters match
98 if (!item->expectedParams.isEmpty())
100 for (int i = 0; i < item->expectedParams.count() && item->expectedParams.count() == params.count(); ++i)
102 if (item->expectedParams.at(i) != params.at(i))
104 qDebug() << "MafwStubHelper::getReturn: " << function <<", not expected (2)";
109 // Expected parameters list was empty but given was not
110 else if (!params.isEmpty())
112 qDebug() << "MafwStubHelper::getReturn: " << function <<", not expected (3)";
119 // Everything ok, let's find the return values
120 returns = item->returnValues;
122 qDebug() << "MafwStubHelper::getReturn, function: " << function << ", returns: " << returns;
127 bool MafwStubHelper::allCallsConsumed() const
129 return m_expectedCalls.isEmpty();
132 void MafwStubHelper::clear()
134 qDebug() << "MafwStubHelper::clear()";
136 qDeleteAll(m_expectedCalls);
137 m_expectedCalls.clear();