00001 00008 /************************************************************************** 00009 00010 begin : Thu Aug 26 2004 00011 copyright : (C) 2002-2010 by Ewald Arnold 00012 email : mockpp at ewald-arnold dot de 00013 00014 This program is free software; you can redistribute it and/or modify 00015 it under the terms of the GNU Lesser General Public License as 00016 published by the Free Software Foundation; either version 2 of the License, 00017 or (at your option) any later version. 00018 00019 This program is distributed in the hope that it will be useful, 00020 but WITHOUT ANY WARRANTY; without even the implied warranty of 00021 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00022 GNU General Public License for more details. 00023 00024 You should have received a copy of the GNU Lesser General Public License 00025 along with this program; if not, write to the Free Software 00026 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00027 00028 * 00029 * Original Java Sources: Copyright (c) 2000-2004, jMock.org 00030 * 00031 00032 **/ 00033 00034 #define MOCKPP_NEED_EXPORTS 00035 #include <mockpp/mockpp.h> // always first 00036 00037 #include <mockpp/matcher/InvokedRecorder.h> 00038 00039 00040 MOCKPP_NS_START 00041 00042 00043 MOCKPP_API_IMPL0 InvokedRecorder::InvokedRecorder() 00044 : invocationCount(0) 00045 { 00046 } 00047 00048 00049 MOCKPP_API_IMPL0 InvokedRecorder::~InvokedRecorder() 00050 { 00051 } 00052 00053 00054 MOCKPP_API_IMPL(int) InvokedRecorder::getInvocationCount() const 00055 { 00056 return invocationCount; 00057 } 00058 00059 00060 MOCKPP_API_IMPL(bool) InvokedRecorder::hasBeenInvoked() const 00061 { 00062 return invocationCount > 0; 00063 } 00064 00065 00066 MOCKPP_API_IMPL(bool) InvokedRecorder::matches( ) 00067 { 00068 return true; 00069 } 00070 00071 00072 MOCKPP_API_IMPL(void) InvokedRecorder::incInvoked( ) 00073 { 00074 invocationCount++; 00075 } 00076 00077 00078 MOCKPP_API_IMPL(bool) InvokedRecorder::hasDescription() 00079 { 00080 return false; 00081 } 00082 00083 00084 MOCKPP_API_IMPL(String) InvokedRecorder::describeTo( String &buffer ) const 00085 { 00086 return buffer; 00087 } 00088 00089 00090 MOCKPP_API_IMPL(void) InvokedRecorder::verify() 00091 { 00092 // always verifies 00093 } 00094 00095 00096 MOCKPP_API_IMPL(void) InvokedRecorder::verifyHasBeenInvoked() const 00097 { 00098 assertTrue(__LINE__, __FILE__, MOCKPP_PCHAR("expected method was not invoked"), hasBeenInvoked() ); 00099 } 00100 00101 00102 MOCKPP_API_IMPL(void) InvokedRecorder::verifyHasBeenInvokedExactly( int expectedCount ) const 00103 { 00104 String fmt (MOCKPP_PCHAR("expected method was not invoked the expected") 00105 MOCKPP_PCHAR(" number of times: expected ") 00106 MOCKPP_PCHAR("%1 times, was invoked %2 times")); 00107 fmt << expectedCount << invocationCount; 00108 assertTrue(__LINE__, __FILE__, fmt, invocationCount == expectedCount ); 00109 } 00110 00111 00112 MOCKPP_NS_END