// Copyright (c) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. // THIS FILE IS AUTOGENERATED! // DO NOT EDIT! #ifndef TIMEDISCRETEMICROMOCKCALLMACROS_H #define TIMEDISCRETEMICROMOCKCALLMACROS_H #pragma once #define MOCK_TD_METHOD_0(prefix, resultType, name) \ MOCK_METHOD_0(prefix, resultType, name)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_STATIC_TD_METHOD_0(prefix, resultType, name) \ MOCK_STATIC_METHOD_0(prefix, resultType, name)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_TD_METHOD_1(prefix, resultType, name, arg1Type, arg1Value) \ MOCK_METHOD_1(prefix, resultType, name, arg1Type, arg1Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_STATIC_TD_METHOD_1(prefix, resultType, name, arg1Type, arg1Value) \ MOCK_STATIC_METHOD_1(prefix, resultType, name, arg1Type, arg1Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_TD_METHOD_2(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value) \ MOCK_METHOD_2(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_STATIC_TD_METHOD_2(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value) \ MOCK_STATIC_METHOD_2(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_TD_METHOD_3(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value) \ MOCK_METHOD_3(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_STATIC_TD_METHOD_3(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value) \ MOCK_STATIC_METHOD_3(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_TD_METHOD_4(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value) \ MOCK_METHOD_4(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_STATIC_TD_METHOD_4(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value) \ MOCK_STATIC_METHOD_4(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_TD_METHOD_5(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value) \ MOCK_METHOD_5(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_STATIC_TD_METHOD_5(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value) \ MOCK_STATIC_METHOD_5(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_TD_METHOD_6(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value) \ MOCK_METHOD_6(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_STATIC_TD_METHOD_6(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value) \ MOCK_STATIC_METHOD_6(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_TD_METHOD_7(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value) \ MOCK_METHOD_7(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_STATIC_TD_METHOD_7(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value) \ MOCK_STATIC_METHOD_7(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_TD_METHOD_8(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value) \ MOCK_METHOD_8(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_STATIC_TD_METHOD_8(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value) \ MOCK_STATIC_METHOD_8(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_TD_METHOD_9(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value) \ MOCK_METHOD_9(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_STATIC_TD_METHOD_9(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value) \ MOCK_STATIC_METHOD_9(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_TD_METHOD_10(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value) \ MOCK_METHOD_10(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_STATIC_TD_METHOD_10(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value) \ MOCK_STATIC_METHOD_10(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_TD_METHOD_11(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value) \ MOCK_METHOD_11(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_STATIC_TD_METHOD_11(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value) \ MOCK_STATIC_METHOD_11(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_TD_METHOD_12(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value) \ MOCK_METHOD_12(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_STATIC_TD_METHOD_12(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value) \ MOCK_STATIC_METHOD_12(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_TD_METHOD_13(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value, arg13Type, arg13Value) \ MOCK_METHOD_13(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value, arg13Type, arg13Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_STATIC_TD_METHOD_13(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value, arg13Type, arg13Value) \ MOCK_STATIC_METHOD_13(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value, arg13Type, arg13Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_TD_METHOD_14(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value, arg13Type, arg13Value, arg14Type, arg14Value) \ MOCK_METHOD_14(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value, arg13Type, arg13Value, arg14Type, arg14Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_STATIC_TD_METHOD_14(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value, arg13Type, arg13Value, arg14Type, arg14Value) \ MOCK_STATIC_METHOD_14(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value, arg13Type, arg13Value, arg14Type, arg14Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_TD_METHOD_15(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value, arg13Type, arg13Value, arg14Type, arg14Value, arg15Type, arg15Value) \ MOCK_METHOD_15(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value, arg13Type, arg13Value, arg14Type, arg14Value, arg15Type, arg15Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define MOCK_STATIC_TD_METHOD_15(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value, arg13Type, arg13Value, arg14Type, arg14Value, arg15Type, arg15Value) \ MOCK_STATIC_METHOD_15(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value, arg13Type, arg13Value, arg14Type, arg14Value, arg15Type, arg15Value)\ mockMethodCall->AddExtraCallArgument(new CMockCallArgument(MOCK_TIMEPROVIDER(__FUNCTION__)));\ result = REMATCH_ACTUAL_STATIC_MOCK_CALL(mockMethodCall);\ #define STIM_CALL_AT(var, time, ...) var.__VA_ARGS__.SetTime(time, var.getAndIncOrder(time)) #define DECLARE_STIM_STATIC_TD_METHOD_0(prefix, resultType, name)\ class pFunctionCall_Wrapper_##name \ {\ public:\ typedef resultType (*pRealFunctionType)();\ static pRealFunctionType realFunction;\ };\ pFunctionCall_Wrapper_##name::pRealFunctionType pFunctionCall_Wrapper_##name::realFunction = ::name; /*so this never can go to a header*/ #define STIM_STATIC_TD_METHOD_0(prefix, resultType, name ) call0Arg name; #define DECLARE_STIM_STATIC_TD_METHOD_1(prefix, resultType, name, arg1Type, arg1Value)\ class pFunctionCall_Wrapper_##name \ {\ public:\ typedef resultType (*pRealFunctionType)(arg1Type arg1Value);\ static pRealFunctionType realFunction;\ };\ pFunctionCall_Wrapper_##name::pRealFunctionType pFunctionCall_Wrapper_##name::realFunction = ::name; /*so this never can go to a header*/ #define STIM_STATIC_TD_METHOD_1(prefix, resultType, name , arg1Type, arg1Value) call1Arg name; #define DECLARE_STIM_STATIC_TD_METHOD_2(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value)\ class pFunctionCall_Wrapper_##name \ {\ public:\ typedef resultType (*pRealFunctionType)(arg1Type arg1Value, arg2Type arg2Value);\ static pRealFunctionType realFunction;\ };\ pFunctionCall_Wrapper_##name::pRealFunctionType pFunctionCall_Wrapper_##name::realFunction = ::name; /*so this never can go to a header*/ #define STIM_STATIC_TD_METHOD_2(prefix, resultType, name , arg1Type, arg1Value, arg2Type, arg2Value) call2Arg name; #define DECLARE_STIM_STATIC_TD_METHOD_3(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value)\ class pFunctionCall_Wrapper_##name \ {\ public:\ typedef resultType (*pRealFunctionType)(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value);\ static pRealFunctionType realFunction;\ };\ pFunctionCall_Wrapper_##name::pRealFunctionType pFunctionCall_Wrapper_##name::realFunction = ::name; /*so this never can go to a header*/ #define STIM_STATIC_TD_METHOD_3(prefix, resultType, name , arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value) call3Arg name; #define DECLARE_STIM_STATIC_TD_METHOD_4(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value)\ class pFunctionCall_Wrapper_##name \ {\ public:\ typedef resultType (*pRealFunctionType)(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value);\ static pRealFunctionType realFunction;\ };\ pFunctionCall_Wrapper_##name::pRealFunctionType pFunctionCall_Wrapper_##name::realFunction = ::name; /*so this never can go to a header*/ #define STIM_STATIC_TD_METHOD_4(prefix, resultType, name , arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value) call4Arg name; #define DECLARE_STIM_STATIC_TD_METHOD_5(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value)\ class pFunctionCall_Wrapper_##name \ {\ public:\ typedef resultType (*pRealFunctionType)(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value);\ static pRealFunctionType realFunction;\ };\ pFunctionCall_Wrapper_##name::pRealFunctionType pFunctionCall_Wrapper_##name::realFunction = ::name; /*so this never can go to a header*/ #define STIM_STATIC_TD_METHOD_5(prefix, resultType, name , arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value) call5Arg name; #define DECLARE_STIM_STATIC_TD_METHOD_6(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value)\ class pFunctionCall_Wrapper_##name \ {\ public:\ typedef resultType (*pRealFunctionType)(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value, arg6Type arg6Value);\ static pRealFunctionType realFunction;\ };\ pFunctionCall_Wrapper_##name::pRealFunctionType pFunctionCall_Wrapper_##name::realFunction = ::name; /*so this never can go to a header*/ #define STIM_STATIC_TD_METHOD_6(prefix, resultType, name , arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value) call6Arg name; #define DECLARE_STIM_STATIC_TD_METHOD_7(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value)\ class pFunctionCall_Wrapper_##name \ {\ public:\ typedef resultType (*pRealFunctionType)(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value, arg6Type arg6Value, arg7Type arg7Value);\ static pRealFunctionType realFunction;\ };\ pFunctionCall_Wrapper_##name::pRealFunctionType pFunctionCall_Wrapper_##name::realFunction = ::name; /*so this never can go to a header*/ #define STIM_STATIC_TD_METHOD_7(prefix, resultType, name , arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value) call7Arg name; #define DECLARE_STIM_STATIC_TD_METHOD_8(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value)\ class pFunctionCall_Wrapper_##name \ {\ public:\ typedef resultType (*pRealFunctionType)(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value, arg6Type arg6Value, arg7Type arg7Value, arg8Type arg8Value);\ static pRealFunctionType realFunction;\ };\ pFunctionCall_Wrapper_##name::pRealFunctionType pFunctionCall_Wrapper_##name::realFunction = ::name; /*so this never can go to a header*/ #define STIM_STATIC_TD_METHOD_8(prefix, resultType, name , arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value) call8Arg name; #define DECLARE_STIM_STATIC_TD_METHOD_9(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value)\ class pFunctionCall_Wrapper_##name \ {\ public:\ typedef resultType (*pRealFunctionType)(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value, arg6Type arg6Value, arg7Type arg7Value, arg8Type arg8Value, arg9Type arg9Value);\ static pRealFunctionType realFunction;\ };\ pFunctionCall_Wrapper_##name::pRealFunctionType pFunctionCall_Wrapper_##name::realFunction = ::name; /*so this never can go to a header*/ #define STIM_STATIC_TD_METHOD_9(prefix, resultType, name , arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value) call9Arg name; #define DECLARE_STIM_STATIC_TD_METHOD_10(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value)\ class pFunctionCall_Wrapper_##name \ {\ public:\ typedef resultType (*pRealFunctionType)(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value, arg6Type arg6Value, arg7Type arg7Value, arg8Type arg8Value, arg9Type arg9Value, arg10Type arg10Value);\ static pRealFunctionType realFunction;\ };\ pFunctionCall_Wrapper_##name::pRealFunctionType pFunctionCall_Wrapper_##name::realFunction = ::name; /*so this never can go to a header*/ #define STIM_STATIC_TD_METHOD_10(prefix, resultType, name , arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value) call10Arg name; #define DECLARE_STIM_STATIC_TD_METHOD_11(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value)\ class pFunctionCall_Wrapper_##name \ {\ public:\ typedef resultType (*pRealFunctionType)(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value, arg6Type arg6Value, arg7Type arg7Value, arg8Type arg8Value, arg9Type arg9Value, arg10Type arg10Value, arg11Type arg11Value);\ static pRealFunctionType realFunction;\ };\ pFunctionCall_Wrapper_##name::pRealFunctionType pFunctionCall_Wrapper_##name::realFunction = ::name; /*so this never can go to a header*/ #define STIM_STATIC_TD_METHOD_11(prefix, resultType, name , arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value) call11Arg name; #define DECLARE_STIM_STATIC_TD_METHOD_12(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value)\ class pFunctionCall_Wrapper_##name \ {\ public:\ typedef resultType (*pRealFunctionType)(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value, arg6Type arg6Value, arg7Type arg7Value, arg8Type arg8Value, arg9Type arg9Value, arg10Type arg10Value, arg11Type arg11Value, arg12Type arg12Value);\ static pRealFunctionType realFunction;\ };\ pFunctionCall_Wrapper_##name::pRealFunctionType pFunctionCall_Wrapper_##name::realFunction = ::name; /*so this never can go to a header*/ #define STIM_STATIC_TD_METHOD_12(prefix, resultType, name , arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value) call12Arg name; #define DECLARE_STIM_STATIC_TD_METHOD_13(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value, arg13Type, arg13Value)\ class pFunctionCall_Wrapper_##name \ {\ public:\ typedef resultType (*pRealFunctionType)(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value, arg6Type arg6Value, arg7Type arg7Value, arg8Type arg8Value, arg9Type arg9Value, arg10Type arg10Value, arg11Type arg11Value, arg12Type arg12Value, arg13Type arg13Value);\ static pRealFunctionType realFunction;\ };\ pFunctionCall_Wrapper_##name::pRealFunctionType pFunctionCall_Wrapper_##name::realFunction = ::name; /*so this never can go to a header*/ #define STIM_STATIC_TD_METHOD_13(prefix, resultType, name , arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value, arg13Type, arg13Value) call13Arg name; #define DECLARE_STIM_STATIC_TD_METHOD_14(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value, arg13Type, arg13Value, arg14Type, arg14Value)\ class pFunctionCall_Wrapper_##name \ {\ public:\ typedef resultType (*pRealFunctionType)(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value, arg6Type arg6Value, arg7Type arg7Value, arg8Type arg8Value, arg9Type arg9Value, arg10Type arg10Value, arg11Type arg11Value, arg12Type arg12Value, arg13Type arg13Value, arg14Type arg14Value);\ static pRealFunctionType realFunction;\ };\ pFunctionCall_Wrapper_##name::pRealFunctionType pFunctionCall_Wrapper_##name::realFunction = ::name; /*so this never can go to a header*/ #define STIM_STATIC_TD_METHOD_14(prefix, resultType, name , arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value, arg13Type, arg13Value, arg14Type, arg14Value) call14Arg name; #define DECLARE_STIM_STATIC_TD_METHOD_15(prefix, resultType, name, arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value, arg13Type, arg13Value, arg14Type, arg14Value, arg15Type, arg15Value)\ class pFunctionCall_Wrapper_##name \ {\ public:\ typedef resultType (*pRealFunctionType)(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value, arg6Type arg6Value, arg7Type arg7Value, arg8Type arg8Value, arg9Type arg9Value, arg10Type arg10Value, arg11Type arg11Value, arg12Type arg12Value, arg13Type arg13Value, arg14Type arg14Value, arg15Type arg15Value);\ static pRealFunctionType realFunction;\ };\ pFunctionCall_Wrapper_##name::pRealFunctionType pFunctionCall_Wrapper_##name::realFunction = ::name; /*so this never can go to a header*/ #define STIM_STATIC_TD_METHOD_15(prefix, resultType, name , arg1Type, arg1Value, arg2Type, arg2Value, arg3Type, arg3Value, arg4Type, arg4Value, arg5Type, arg5Value, arg6Type, arg6Value, arg7Type, arg7Value, arg8Type, arg8Value, arg9Type, arg9Value, arg10Type, arg10Value, arg11Type, arg11Value, arg12Type, arg12Value, arg13Type, arg13Value, arg14Type, arg14Value, arg15Type, arg15Value) call15Arg name; templateclass call0Arg : public canPlay { private: class timeS { public: timeS(): time(0), order(0) { } UINT32 time; UINT32 order; }; std::vector allCalls; public: call0Arg() { stims_base::registerCallXArg(this); } virtual ~call0Arg() { } virtual void PlayTick(_In_ UINT32 tick, _In_ UINT32 order) { for(UINT32 i=0; i& SetTime(_In_ UINT32 time, _In_ UINT32 order) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_TIME_BEFORE_CALL, _T("using SetTime before the call has been defined usually indicates an error in test code")); } else { allCalls[allCalls.size()-1].time=time; allCalls[allCalls.size()-1].order=order; } return *this; } call0Arg& operator()() { timeS s; allCalls.push_back(s); /*time is updated "later" by chaining*/ return *this; } }; templateclass call1Arg : public canPlay { private: class timeS { public: timeS(arg1Type arg1Value): time(0), order(0), arg1(arg1Value) { } UINT32 time; UINT32 order; valueHolder arg1; }; std::vector allCalls; public: call1Arg() { stims_base::registerCallXArg(this); } virtual ~call1Arg() { } virtual void PlayTick(_In_ UINT32 tick, _In_ UINT32 order) { for(UINT32 i=0; i& SetTime(_In_ UINT32 time, _In_ UINT32 order) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_TIME_BEFORE_CALL, _T("using SetTime before the call has been defined usually indicates an error in test code")); } else { allCalls[allCalls.size()-1].time=time; allCalls[allCalls.size()-1].order=order; } return *this; } call1Arg& operator()(arg1Type arg1) { timeS s(arg1); allCalls.push_back(s); /*time is updated "later" by chaining*/ return *this; } call1Arg& setArraySize(_In_ UINT32 parameter, _In_ size_t nElements) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_ARRAY_SIZE_BEFORE_CALL, _T("using setArraySize before the call has been defined usually indicates an error in test code")); } else { timeS& s = allCalls[allCalls.size()-1]; /*get the last element*/ switch(parameter) { case 1: { s.arg1.setArraySize(nElements); break; } default: { ASSERT_FAIL(_T("there are no parameters so big")); } } return *this; } } }; templateclass call2Arg : public canPlay { private: class timeS { public: timeS(arg1Type arg1Value, arg2Type arg2Value): time(0), order(0), arg1(arg1Value), arg2(arg2Value) { } UINT32 time; UINT32 order; valueHolder arg1; valueHolder arg2; }; std::vector allCalls; public: call2Arg() { stims_base::registerCallXArg(this); } virtual ~call2Arg() { } virtual void PlayTick(_In_ UINT32 tick, _In_ UINT32 order) { for(UINT32 i=0; i& SetTime(_In_ UINT32 time, _In_ UINT32 order) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_TIME_BEFORE_CALL, _T("using SetTime before the call has been defined usually indicates an error in test code")); } else { allCalls[allCalls.size()-1].time=time; allCalls[allCalls.size()-1].order=order; } return *this; } call2Arg& operator()(arg1Type arg1,arg2Type arg2) { timeS s(arg1, arg2); allCalls.push_back(s); /*time is updated "later" by chaining*/ return *this; } call2Arg& setArraySize(_In_ UINT32 parameter, _In_ size_t nElements) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_ARRAY_SIZE_BEFORE_CALL, _T("using setArraySize before the call has been defined usually indicates an error in test code")); } else { timeS& s = allCalls[allCalls.size()-1]; /*get the last element*/ switch(parameter) { case 1: { s.arg1.setArraySize(nElements); break; } case 2: { s.arg2.setArraySize(nElements); break; } default: { ASSERT_FAIL(_T("there are no parameters so big")); } } return *this; } } }; templateclass call3Arg : public canPlay { private: class timeS { public: timeS(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value): time(0), order(0), arg1(arg1Value), arg2(arg2Value), arg3(arg3Value) { } UINT32 time; UINT32 order; valueHolder arg1; valueHolder arg2; valueHolder arg3; }; std::vector allCalls; public: call3Arg() { stims_base::registerCallXArg(this); } virtual ~call3Arg() { } virtual void PlayTick(_In_ UINT32 tick, _In_ UINT32 order) { for(UINT32 i=0; i& SetTime(_In_ UINT32 time, _In_ UINT32 order) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_TIME_BEFORE_CALL, _T("using SetTime before the call has been defined usually indicates an error in test code")); } else { allCalls[allCalls.size()-1].time=time; allCalls[allCalls.size()-1].order=order; } return *this; } call3Arg& operator()(arg1Type arg1,arg2Type arg2,arg3Type arg3) { timeS s(arg1, arg2, arg3); allCalls.push_back(s); /*time is updated "later" by chaining*/ return *this; } call3Arg& setArraySize(_In_ UINT32 parameter, _In_ size_t nElements) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_ARRAY_SIZE_BEFORE_CALL, _T("using setArraySize before the call has been defined usually indicates an error in test code")); } else { timeS& s = allCalls[allCalls.size()-1]; /*get the last element*/ switch(parameter) { case 1: { s.arg1.setArraySize(nElements); break; } case 2: { s.arg2.setArraySize(nElements); break; } case 3: { s.arg3.setArraySize(nElements); break; } default: { ASSERT_FAIL(_T("there are no parameters so big")); } } return *this; } } }; templateclass call4Arg : public canPlay { private: class timeS { public: timeS(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value): time(0), order(0), arg1(arg1Value), arg2(arg2Value), arg3(arg3Value), arg4(arg4Value) { } UINT32 time; UINT32 order; valueHolder arg1; valueHolder arg2; valueHolder arg3; valueHolder arg4; }; std::vector allCalls; public: call4Arg() { stims_base::registerCallXArg(this); } virtual ~call4Arg() { } virtual void PlayTick(_In_ UINT32 tick, _In_ UINT32 order) { for(UINT32 i=0; i& SetTime(_In_ UINT32 time, _In_ UINT32 order) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_TIME_BEFORE_CALL, _T("using SetTime before the call has been defined usually indicates an error in test code")); } else { allCalls[allCalls.size()-1].time=time; allCalls[allCalls.size()-1].order=order; } return *this; } call4Arg& operator()(arg1Type arg1,arg2Type arg2,arg3Type arg3,arg4Type arg4) { timeS s(arg1, arg2, arg3, arg4); allCalls.push_back(s); /*time is updated "later" by chaining*/ return *this; } call4Arg& setArraySize(_In_ UINT32 parameter, _In_ size_t nElements) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_ARRAY_SIZE_BEFORE_CALL, _T("using setArraySize before the call has been defined usually indicates an error in test code")); } else { timeS& s = allCalls[allCalls.size()-1]; /*get the last element*/ switch(parameter) { case 1: { s.arg1.setArraySize(nElements); break; } case 2: { s.arg2.setArraySize(nElements); break; } case 3: { s.arg3.setArraySize(nElements); break; } case 4: { s.arg4.setArraySize(nElements); break; } default: { ASSERT_FAIL(_T("there are no parameters so big")); } } return *this; } } }; templateclass call5Arg : public canPlay { private: class timeS { public: timeS(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value): time(0), order(0), arg1(arg1Value), arg2(arg2Value), arg3(arg3Value), arg4(arg4Value), arg5(arg5Value) { } UINT32 time; UINT32 order; valueHolder arg1; valueHolder arg2; valueHolder arg3; valueHolder arg4; valueHolder arg5; }; std::vector allCalls; public: call5Arg() { stims_base::registerCallXArg(this); } virtual ~call5Arg() { } virtual void PlayTick(_In_ UINT32 tick, _In_ UINT32 order) { for(UINT32 i=0; i& SetTime(_In_ UINT32 time, _In_ UINT32 order) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_TIME_BEFORE_CALL, _T("using SetTime before the call has been defined usually indicates an error in test code")); } else { allCalls[allCalls.size()-1].time=time; allCalls[allCalls.size()-1].order=order; } return *this; } call5Arg& operator()(arg1Type arg1,arg2Type arg2,arg3Type arg3,arg4Type arg4,arg5Type arg5) { timeS s(arg1, arg2, arg3, arg4, arg5); allCalls.push_back(s); /*time is updated "later" by chaining*/ return *this; } call5Arg& setArraySize(_In_ UINT32 parameter, _In_ size_t nElements) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_ARRAY_SIZE_BEFORE_CALL, _T("using setArraySize before the call has been defined usually indicates an error in test code")); } else { timeS& s = allCalls[allCalls.size()-1]; /*get the last element*/ switch(parameter) { case 1: { s.arg1.setArraySize(nElements); break; } case 2: { s.arg2.setArraySize(nElements); break; } case 3: { s.arg3.setArraySize(nElements); break; } case 4: { s.arg4.setArraySize(nElements); break; } case 5: { s.arg5.setArraySize(nElements); break; } default: { ASSERT_FAIL(_T("there are no parameters so big")); } } return *this; } } }; templateclass call6Arg : public canPlay { private: class timeS { public: timeS(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value, arg6Type arg6Value): time(0), order(0), arg1(arg1Value), arg2(arg2Value), arg3(arg3Value), arg4(arg4Value), arg5(arg5Value), arg6(arg6Value) { } UINT32 time; UINT32 order; valueHolder arg1; valueHolder arg2; valueHolder arg3; valueHolder arg4; valueHolder arg5; valueHolder arg6; }; std::vector allCalls; public: call6Arg() { stims_base::registerCallXArg(this); } virtual ~call6Arg() { } virtual void PlayTick(_In_ UINT32 tick, _In_ UINT32 order) { for(UINT32 i=0; i& SetTime(_In_ UINT32 time, _In_ UINT32 order) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_TIME_BEFORE_CALL, _T("using SetTime before the call has been defined usually indicates an error in test code")); } else { allCalls[allCalls.size()-1].time=time; allCalls[allCalls.size()-1].order=order; } return *this; } call6Arg& operator()(arg1Type arg1,arg2Type arg2,arg3Type arg3,arg4Type arg4,arg5Type arg5,arg6Type arg6) { timeS s(arg1, arg2, arg3, arg4, arg5, arg6); allCalls.push_back(s); /*time is updated "later" by chaining*/ return *this; } call6Arg& setArraySize(_In_ UINT32 parameter, _In_ size_t nElements) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_ARRAY_SIZE_BEFORE_CALL, _T("using setArraySize before the call has been defined usually indicates an error in test code")); } else { timeS& s = allCalls[allCalls.size()-1]; /*get the last element*/ switch(parameter) { case 1: { s.arg1.setArraySize(nElements); break; } case 2: { s.arg2.setArraySize(nElements); break; } case 3: { s.arg3.setArraySize(nElements); break; } case 4: { s.arg4.setArraySize(nElements); break; } case 5: { s.arg5.setArraySize(nElements); break; } case 6: { s.arg6.setArraySize(nElements); break; } default: { ASSERT_FAIL(_T("there are no parameters so big")); } } return *this; } } }; templateclass call7Arg : public canPlay { private: class timeS { public: timeS(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value, arg6Type arg6Value, arg7Type arg7Value): time(0), order(0), arg1(arg1Value), arg2(arg2Value), arg3(arg3Value), arg4(arg4Value), arg5(arg5Value), arg6(arg6Value), arg7(arg7Value) { } UINT32 time; UINT32 order; valueHolder arg1; valueHolder arg2; valueHolder arg3; valueHolder arg4; valueHolder arg5; valueHolder arg6; valueHolder arg7; }; std::vector allCalls; public: call7Arg() { stims_base::registerCallXArg(this); } virtual ~call7Arg() { } virtual void PlayTick(_In_ UINT32 tick, _In_ UINT32 order) { for(UINT32 i=0; i& SetTime(_In_ UINT32 time, _In_ UINT32 order) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_TIME_BEFORE_CALL, _T("using SetTime before the call has been defined usually indicates an error in test code")); } else { allCalls[allCalls.size()-1].time=time; allCalls[allCalls.size()-1].order=order; } return *this; } call7Arg& operator()(arg1Type arg1,arg2Type arg2,arg3Type arg3,arg4Type arg4,arg5Type arg5,arg6Type arg6,arg7Type arg7) { timeS s(arg1, arg2, arg3, arg4, arg5, arg6, arg7); allCalls.push_back(s); /*time is updated "later" by chaining*/ return *this; } call7Arg& setArraySize(_In_ UINT32 parameter, _In_ size_t nElements) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_ARRAY_SIZE_BEFORE_CALL, _T("using setArraySize before the call has been defined usually indicates an error in test code")); } else { timeS& s = allCalls[allCalls.size()-1]; /*get the last element*/ switch(parameter) { case 1: { s.arg1.setArraySize(nElements); break; } case 2: { s.arg2.setArraySize(nElements); break; } case 3: { s.arg3.setArraySize(nElements); break; } case 4: { s.arg4.setArraySize(nElements); break; } case 5: { s.arg5.setArraySize(nElements); break; } case 6: { s.arg6.setArraySize(nElements); break; } case 7: { s.arg7.setArraySize(nElements); break; } default: { ASSERT_FAIL(_T("there are no parameters so big")); } } return *this; } } }; templateclass call8Arg : public canPlay { private: class timeS { public: timeS(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value, arg6Type arg6Value, arg7Type arg7Value, arg8Type arg8Value): time(0), order(0), arg1(arg1Value), arg2(arg2Value), arg3(arg3Value), arg4(arg4Value), arg5(arg5Value), arg6(arg6Value), arg7(arg7Value), arg8(arg8Value) { } UINT32 time; UINT32 order; valueHolder arg1; valueHolder arg2; valueHolder arg3; valueHolder arg4; valueHolder arg5; valueHolder arg6; valueHolder arg7; valueHolder arg8; }; std::vector allCalls; public: call8Arg() { stims_base::registerCallXArg(this); } virtual ~call8Arg() { } virtual void PlayTick(_In_ UINT32 tick, _In_ UINT32 order) { for(UINT32 i=0; i& SetTime(_In_ UINT32 time, _In_ UINT32 order) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_TIME_BEFORE_CALL, _T("using SetTime before the call has been defined usually indicates an error in test code")); } else { allCalls[allCalls.size()-1].time=time; allCalls[allCalls.size()-1].order=order; } return *this; } call8Arg& operator()(arg1Type arg1,arg2Type arg2,arg3Type arg3,arg4Type arg4,arg5Type arg5,arg6Type arg6,arg7Type arg7,arg8Type arg8) { timeS s(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); allCalls.push_back(s); /*time is updated "later" by chaining*/ return *this; } call8Arg& setArraySize(_In_ UINT32 parameter, _In_ size_t nElements) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_ARRAY_SIZE_BEFORE_CALL, _T("using setArraySize before the call has been defined usually indicates an error in test code")); } else { timeS& s = allCalls[allCalls.size()-1]; /*get the last element*/ switch(parameter) { case 1: { s.arg1.setArraySize(nElements); break; } case 2: { s.arg2.setArraySize(nElements); break; } case 3: { s.arg3.setArraySize(nElements); break; } case 4: { s.arg4.setArraySize(nElements); break; } case 5: { s.arg5.setArraySize(nElements); break; } case 6: { s.arg6.setArraySize(nElements); break; } case 7: { s.arg7.setArraySize(nElements); break; } case 8: { s.arg8.setArraySize(nElements); break; } default: { ASSERT_FAIL(_T("there are no parameters so big")); } } return *this; } } }; templateclass call9Arg : public canPlay { private: class timeS { public: timeS(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value, arg6Type arg6Value, arg7Type arg7Value, arg8Type arg8Value, arg9Type arg9Value): time(0), order(0), arg1(arg1Value), arg2(arg2Value), arg3(arg3Value), arg4(arg4Value), arg5(arg5Value), arg6(arg6Value), arg7(arg7Value), arg8(arg8Value), arg9(arg9Value) { } UINT32 time; UINT32 order; valueHolder arg1; valueHolder arg2; valueHolder arg3; valueHolder arg4; valueHolder arg5; valueHolder arg6; valueHolder arg7; valueHolder arg8; valueHolder arg9; }; std::vector allCalls; public: call9Arg() { stims_base::registerCallXArg(this); } virtual ~call9Arg() { } virtual void PlayTick(_In_ UINT32 tick, _In_ UINT32 order) { for(UINT32 i=0; i& SetTime(_In_ UINT32 time, _In_ UINT32 order) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_TIME_BEFORE_CALL, _T("using SetTime before the call has been defined usually indicates an error in test code")); } else { allCalls[allCalls.size()-1].time=time; allCalls[allCalls.size()-1].order=order; } return *this; } call9Arg& operator()(arg1Type arg1,arg2Type arg2,arg3Type arg3,arg4Type arg4,arg5Type arg5,arg6Type arg6,arg7Type arg7,arg8Type arg8,arg9Type arg9) { timeS s(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); allCalls.push_back(s); /*time is updated "later" by chaining*/ return *this; } call9Arg& setArraySize(_In_ UINT32 parameter, _In_ size_t nElements) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_ARRAY_SIZE_BEFORE_CALL, _T("using setArraySize before the call has been defined usually indicates an error in test code")); } else { timeS& s = allCalls[allCalls.size()-1]; /*get the last element*/ switch(parameter) { case 1: { s.arg1.setArraySize(nElements); break; } case 2: { s.arg2.setArraySize(nElements); break; } case 3: { s.arg3.setArraySize(nElements); break; } case 4: { s.arg4.setArraySize(nElements); break; } case 5: { s.arg5.setArraySize(nElements); break; } case 6: { s.arg6.setArraySize(nElements); break; } case 7: { s.arg7.setArraySize(nElements); break; } case 8: { s.arg8.setArraySize(nElements); break; } case 9: { s.arg9.setArraySize(nElements); break; } default: { ASSERT_FAIL(_T("there are no parameters so big")); } } return *this; } } }; templateclass call10Arg : public canPlay { private: class timeS { public: timeS(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value, arg6Type arg6Value, arg7Type arg7Value, arg8Type arg8Value, arg9Type arg9Value, arg10Type arg10Value): time(0), order(0), arg1(arg1Value), arg2(arg2Value), arg3(arg3Value), arg4(arg4Value), arg5(arg5Value), arg6(arg6Value), arg7(arg7Value), arg8(arg8Value), arg9(arg9Value), arg10(arg10Value) { } UINT32 time; UINT32 order; valueHolder arg1; valueHolder arg2; valueHolder arg3; valueHolder arg4; valueHolder arg5; valueHolder arg6; valueHolder arg7; valueHolder arg8; valueHolder arg9; valueHolder arg10; }; std::vector allCalls; public: call10Arg() { stims_base::registerCallXArg(this); } virtual ~call10Arg() { } virtual void PlayTick(_In_ UINT32 tick, _In_ UINT32 order) { for(UINT32 i=0; i& SetTime(_In_ UINT32 time, _In_ UINT32 order) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_TIME_BEFORE_CALL, _T("using SetTime before the call has been defined usually indicates an error in test code")); } else { allCalls[allCalls.size()-1].time=time; allCalls[allCalls.size()-1].order=order; } return *this; } call10Arg& operator()(arg1Type arg1,arg2Type arg2,arg3Type arg3,arg4Type arg4,arg5Type arg5,arg6Type arg6,arg7Type arg7,arg8Type arg8,arg9Type arg9,arg10Type arg10) { timeS s(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); allCalls.push_back(s); /*time is updated "later" by chaining*/ return *this; } call10Arg& setArraySize(_In_ UINT32 parameter, _In_ size_t nElements) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_ARRAY_SIZE_BEFORE_CALL, _T("using setArraySize before the call has been defined usually indicates an error in test code")); } else { timeS& s = allCalls[allCalls.size()-1]; /*get the last element*/ switch(parameter) { case 1: { s.arg1.setArraySize(nElements); break; } case 2: { s.arg2.setArraySize(nElements); break; } case 3: { s.arg3.setArraySize(nElements); break; } case 4: { s.arg4.setArraySize(nElements); break; } case 5: { s.arg5.setArraySize(nElements); break; } case 6: { s.arg6.setArraySize(nElements); break; } case 7: { s.arg7.setArraySize(nElements); break; } case 8: { s.arg8.setArraySize(nElements); break; } case 9: { s.arg9.setArraySize(nElements); break; } case 10: { s.arg10.setArraySize(nElements); break; } default: { ASSERT_FAIL(_T("there are no parameters so big")); } } return *this; } } }; templateclass call11Arg : public canPlay { private: class timeS { public: timeS(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value, arg6Type arg6Value, arg7Type arg7Value, arg8Type arg8Value, arg9Type arg9Value, arg10Type arg10Value, arg11Type arg11Value): time(0), order(0), arg1(arg1Value), arg2(arg2Value), arg3(arg3Value), arg4(arg4Value), arg5(arg5Value), arg6(arg6Value), arg7(arg7Value), arg8(arg8Value), arg9(arg9Value), arg10(arg10Value), arg11(arg11Value) { } UINT32 time; UINT32 order; valueHolder arg1; valueHolder arg2; valueHolder arg3; valueHolder arg4; valueHolder arg5; valueHolder arg6; valueHolder arg7; valueHolder arg8; valueHolder arg9; valueHolder arg10; valueHolder arg11; }; std::vector allCalls; public: call11Arg() { stims_base::registerCallXArg(this); } virtual ~call11Arg() { } virtual void PlayTick(_In_ UINT32 tick, _In_ UINT32 order) { for(UINT32 i=0; i& SetTime(_In_ UINT32 time, _In_ UINT32 order) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_TIME_BEFORE_CALL, _T("using SetTime before the call has been defined usually indicates an error in test code")); } else { allCalls[allCalls.size()-1].time=time; allCalls[allCalls.size()-1].order=order; } return *this; } call11Arg& operator()(arg1Type arg1,arg2Type arg2,arg3Type arg3,arg4Type arg4,arg5Type arg5,arg6Type arg6,arg7Type arg7,arg8Type arg8,arg9Type arg9,arg10Type arg10,arg11Type arg11) { timeS s(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); allCalls.push_back(s); /*time is updated "later" by chaining*/ return *this; } call11Arg& setArraySize(_In_ UINT32 parameter, _In_ size_t nElements) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_ARRAY_SIZE_BEFORE_CALL, _T("using setArraySize before the call has been defined usually indicates an error in test code")); } else { timeS& s = allCalls[allCalls.size()-1]; /*get the last element*/ switch(parameter) { case 1: { s.arg1.setArraySize(nElements); break; } case 2: { s.arg2.setArraySize(nElements); break; } case 3: { s.arg3.setArraySize(nElements); break; } case 4: { s.arg4.setArraySize(nElements); break; } case 5: { s.arg5.setArraySize(nElements); break; } case 6: { s.arg6.setArraySize(nElements); break; } case 7: { s.arg7.setArraySize(nElements); break; } case 8: { s.arg8.setArraySize(nElements); break; } case 9: { s.arg9.setArraySize(nElements); break; } case 10: { s.arg10.setArraySize(nElements); break; } case 11: { s.arg11.setArraySize(nElements); break; } default: { ASSERT_FAIL(_T("there are no parameters so big")); } } return *this; } } }; templateclass call12Arg : public canPlay { private: class timeS { public: timeS(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value, arg6Type arg6Value, arg7Type arg7Value, arg8Type arg8Value, arg9Type arg9Value, arg10Type arg10Value, arg11Type arg11Value, arg12Type arg12Value): time(0), order(0), arg1(arg1Value), arg2(arg2Value), arg3(arg3Value), arg4(arg4Value), arg5(arg5Value), arg6(arg6Value), arg7(arg7Value), arg8(arg8Value), arg9(arg9Value), arg10(arg10Value), arg11(arg11Value), arg12(arg12Value) { } UINT32 time; UINT32 order; valueHolder arg1; valueHolder arg2; valueHolder arg3; valueHolder arg4; valueHolder arg5; valueHolder arg6; valueHolder arg7; valueHolder arg8; valueHolder arg9; valueHolder arg10; valueHolder arg11; valueHolder arg12; }; std::vector allCalls; public: call12Arg() { stims_base::registerCallXArg(this); } virtual ~call12Arg() { } virtual void PlayTick(_In_ UINT32 tick, _In_ UINT32 order) { for(UINT32 i=0; i& SetTime(_In_ UINT32 time, _In_ UINT32 order) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_TIME_BEFORE_CALL, _T("using SetTime before the call has been defined usually indicates an error in test code")); } else { allCalls[allCalls.size()-1].time=time; allCalls[allCalls.size()-1].order=order; } return *this; } call12Arg& operator()(arg1Type arg1,arg2Type arg2,arg3Type arg3,arg4Type arg4,arg5Type arg5,arg6Type arg6,arg7Type arg7,arg8Type arg8,arg9Type arg9,arg10Type arg10,arg11Type arg11,arg12Type arg12) { timeS s(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); allCalls.push_back(s); /*time is updated "later" by chaining*/ return *this; } call12Arg& setArraySize(_In_ UINT32 parameter, _In_ size_t nElements) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_ARRAY_SIZE_BEFORE_CALL, _T("using setArraySize before the call has been defined usually indicates an error in test code")); } else { timeS& s = allCalls[allCalls.size()-1]; /*get the last element*/ switch(parameter) { case 1: { s.arg1.setArraySize(nElements); break; } case 2: { s.arg2.setArraySize(nElements); break; } case 3: { s.arg3.setArraySize(nElements); break; } case 4: { s.arg4.setArraySize(nElements); break; } case 5: { s.arg5.setArraySize(nElements); break; } case 6: { s.arg6.setArraySize(nElements); break; } case 7: { s.arg7.setArraySize(nElements); break; } case 8: { s.arg8.setArraySize(nElements); break; } case 9: { s.arg9.setArraySize(nElements); break; } case 10: { s.arg10.setArraySize(nElements); break; } case 11: { s.arg11.setArraySize(nElements); break; } case 12: { s.arg12.setArraySize(nElements); break; } default: { ASSERT_FAIL(_T("there are no parameters so big")); } } return *this; } } }; templateclass call13Arg : public canPlay { private: class timeS { public: timeS(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value, arg6Type arg6Value, arg7Type arg7Value, arg8Type arg8Value, arg9Type arg9Value, arg10Type arg10Value, arg11Type arg11Value, arg12Type arg12Value, arg13Type arg13Value): time(0), order(0), arg1(arg1Value), arg2(arg2Value), arg3(arg3Value), arg4(arg4Value), arg5(arg5Value), arg6(arg6Value), arg7(arg7Value), arg8(arg8Value), arg9(arg9Value), arg10(arg10Value), arg11(arg11Value), arg12(arg12Value), arg13(arg13Value) { } UINT32 time; UINT32 order; valueHolder arg1; valueHolder arg2; valueHolder arg3; valueHolder arg4; valueHolder arg5; valueHolder arg6; valueHolder arg7; valueHolder arg8; valueHolder arg9; valueHolder arg10; valueHolder arg11; valueHolder arg12; valueHolder arg13; }; std::vector allCalls; public: call13Arg() { stims_base::registerCallXArg(this); } virtual ~call13Arg() { } virtual void PlayTick(_In_ UINT32 tick, _In_ UINT32 order) { for(UINT32 i=0; i& SetTime(_In_ UINT32 time, _In_ UINT32 order) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_TIME_BEFORE_CALL, _T("using SetTime before the call has been defined usually indicates an error in test code")); } else { allCalls[allCalls.size()-1].time=time; allCalls[allCalls.size()-1].order=order; } return *this; } call13Arg& operator()(arg1Type arg1,arg2Type arg2,arg3Type arg3,arg4Type arg4,arg5Type arg5,arg6Type arg6,arg7Type arg7,arg8Type arg8,arg9Type arg9,arg10Type arg10,arg11Type arg11,arg12Type arg12,arg13Type arg13) { timeS s(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); allCalls.push_back(s); /*time is updated "later" by chaining*/ return *this; } call13Arg& setArraySize(_In_ UINT32 parameter, _In_ size_t nElements) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_ARRAY_SIZE_BEFORE_CALL, _T("using setArraySize before the call has been defined usually indicates an error in test code")); } else { timeS& s = allCalls[allCalls.size()-1]; /*get the last element*/ switch(parameter) { case 1: { s.arg1.setArraySize(nElements); break; } case 2: { s.arg2.setArraySize(nElements); break; } case 3: { s.arg3.setArraySize(nElements); break; } case 4: { s.arg4.setArraySize(nElements); break; } case 5: { s.arg5.setArraySize(nElements); break; } case 6: { s.arg6.setArraySize(nElements); break; } case 7: { s.arg7.setArraySize(nElements); break; } case 8: { s.arg8.setArraySize(nElements); break; } case 9: { s.arg9.setArraySize(nElements); break; } case 10: { s.arg10.setArraySize(nElements); break; } case 11: { s.arg11.setArraySize(nElements); break; } case 12: { s.arg12.setArraySize(nElements); break; } case 13: { s.arg13.setArraySize(nElements); break; } default: { ASSERT_FAIL(_T("there are no parameters so big")); } } return *this; } } }; templateclass call14Arg : public canPlay { private: class timeS { public: timeS(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value, arg6Type arg6Value, arg7Type arg7Value, arg8Type arg8Value, arg9Type arg9Value, arg10Type arg10Value, arg11Type arg11Value, arg12Type arg12Value, arg13Type arg13Value, arg14Type arg14Value): time(0), order(0), arg1(arg1Value), arg2(arg2Value), arg3(arg3Value), arg4(arg4Value), arg5(arg5Value), arg6(arg6Value), arg7(arg7Value), arg8(arg8Value), arg9(arg9Value), arg10(arg10Value), arg11(arg11Value), arg12(arg12Value), arg13(arg13Value), arg14(arg14Value) { } UINT32 time; UINT32 order; valueHolder arg1; valueHolder arg2; valueHolder arg3; valueHolder arg4; valueHolder arg5; valueHolder arg6; valueHolder arg7; valueHolder arg8; valueHolder arg9; valueHolder arg10; valueHolder arg11; valueHolder arg12; valueHolder arg13; valueHolder arg14; }; std::vector allCalls; public: call14Arg() { stims_base::registerCallXArg(this); } virtual ~call14Arg() { } virtual void PlayTick(_In_ UINT32 tick, _In_ UINT32 order) { for(UINT32 i=0; i& SetTime(_In_ UINT32 time, _In_ UINT32 order) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_TIME_BEFORE_CALL, _T("using SetTime before the call has been defined usually indicates an error in test code")); } else { allCalls[allCalls.size()-1].time=time; allCalls[allCalls.size()-1].order=order; } return *this; } call14Arg& operator()(arg1Type arg1,arg2Type arg2,arg3Type arg3,arg4Type arg4,arg5Type arg5,arg6Type arg6,arg7Type arg7,arg8Type arg8,arg9Type arg9,arg10Type arg10,arg11Type arg11,arg12Type arg12,arg13Type arg13,arg14Type arg14) { timeS s(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); allCalls.push_back(s); /*time is updated "later" by chaining*/ return *this; } call14Arg& setArraySize(_In_ UINT32 parameter, _In_ size_t nElements) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_ARRAY_SIZE_BEFORE_CALL, _T("using setArraySize before the call has been defined usually indicates an error in test code")); } else { timeS& s = allCalls[allCalls.size()-1]; /*get the last element*/ switch(parameter) { case 1: { s.arg1.setArraySize(nElements); break; } case 2: { s.arg2.setArraySize(nElements); break; } case 3: { s.arg3.setArraySize(nElements); break; } case 4: { s.arg4.setArraySize(nElements); break; } case 5: { s.arg5.setArraySize(nElements); break; } case 6: { s.arg6.setArraySize(nElements); break; } case 7: { s.arg7.setArraySize(nElements); break; } case 8: { s.arg8.setArraySize(nElements); break; } case 9: { s.arg9.setArraySize(nElements); break; } case 10: { s.arg10.setArraySize(nElements); break; } case 11: { s.arg11.setArraySize(nElements); break; } case 12: { s.arg12.setArraySize(nElements); break; } case 13: { s.arg13.setArraySize(nElements); break; } case 14: { s.arg14.setArraySize(nElements); break; } default: { ASSERT_FAIL(_T("there are no parameters so big")); } } return *this; } } }; templateclass call15Arg : public canPlay { private: class timeS { public: timeS(arg1Type arg1Value, arg2Type arg2Value, arg3Type arg3Value, arg4Type arg4Value, arg5Type arg5Value, arg6Type arg6Value, arg7Type arg7Value, arg8Type arg8Value, arg9Type arg9Value, arg10Type arg10Value, arg11Type arg11Value, arg12Type arg12Value, arg13Type arg13Value, arg14Type arg14Value, arg15Type arg15Value): time(0), order(0), arg1(arg1Value), arg2(arg2Value), arg3(arg3Value), arg4(arg4Value), arg5(arg5Value), arg6(arg6Value), arg7(arg7Value), arg8(arg8Value), arg9(arg9Value), arg10(arg10Value), arg11(arg11Value), arg12(arg12Value), arg13(arg13Value), arg14(arg14Value), arg15(arg15Value) { } UINT32 time; UINT32 order; valueHolder arg1; valueHolder arg2; valueHolder arg3; valueHolder arg4; valueHolder arg5; valueHolder arg6; valueHolder arg7; valueHolder arg8; valueHolder arg9; valueHolder arg10; valueHolder arg11; valueHolder arg12; valueHolder arg13; valueHolder arg14; valueHolder arg15; }; std::vector allCalls; public: call15Arg() { stims_base::registerCallXArg(this); } virtual ~call15Arg() { } virtual void PlayTick(_In_ UINT32 tick, _In_ UINT32 order) { for(UINT32 i=0; i& SetTime(_In_ UINT32 time, _In_ UINT32 order) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_TIME_BEFORE_CALL, _T("using SetTime before the call has been defined usually indicates an error in test code")); } else { allCalls[allCalls.size()-1].time=time; allCalls[allCalls.size()-1].order=order; } return *this; } call15Arg& operator()(arg1Type arg1,arg2Type arg2,arg3Type arg3,arg4Type arg4,arg5Type arg5,arg6Type arg6,arg7Type arg7,arg8Type arg8,arg9Type arg9,arg10Type arg10,arg11Type arg11,arg12Type arg12,arg13Type arg13,arg14Type arg14,arg15Type arg15) { timeS s(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); allCalls.push_back(s); /*time is updated "later" by chaining*/ return *this; } call15Arg& setArraySize(_In_ UINT32 parameter, _In_ size_t nElements) { if(allCalls.size()==0) { throw CMicroMockException(MICROMOCK_EXCEPTION_SET_ARRAY_SIZE_BEFORE_CALL, _T("using setArraySize before the call has been defined usually indicates an error in test code")); } else { timeS& s = allCalls[allCalls.size()-1]; /*get the last element*/ switch(parameter) { case 1: { s.arg1.setArraySize(nElements); break; } case 2: { s.arg2.setArraySize(nElements); break; } case 3: { s.arg3.setArraySize(nElements); break; } case 4: { s.arg4.setArraySize(nElements); break; } case 5: { s.arg5.setArraySize(nElements); break; } case 6: { s.arg6.setArraySize(nElements); break; } case 7: { s.arg7.setArraySize(nElements); break; } case 8: { s.arg8.setArraySize(nElements); break; } case 9: { s.arg9.setArraySize(nElements); break; } case 10: { s.arg10.setArraySize(nElements); break; } case 11: { s.arg11.setArraySize(nElements); break; } case 12: { s.arg12.setArraySize(nElements); break; } case 13: { s.arg13.setArraySize(nElements); break; } case 14: { s.arg14.setArraySize(nElements); break; } case 15: { s.arg15.setArraySize(nElements); break; } default: { ASSERT_FAIL(_T("there are no parameters so big")); } } return *this; } } }; #endif // TIMEDISCRETEMICROMOCKCALLMACROS_H