00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef UTILS__CALITKO_MOCKS__HELPER_MACROS_H
00024 #define UTILS__CALITKO_MOCKS__HELPER_MACROS_H
00025
00026 #define ARGUMENTS_TYPE_LIST_0(A)
00027 #define ARGUMENTS_TYPE_LIST_1(A) A##01
00028 #define ARGUMENTS_TYPE_LIST_2(A) ARGUMENTS_TYPE_LIST_1(A), A##02
00029 #define ARGUMENTS_TYPE_LIST_3(A) ARGUMENTS_TYPE_LIST_2(A), A##03
00030 #define ARGUMENTS_TYPE_LIST_4(A) ARGUMENTS_TYPE_LIST_3(A), A##04
00031 #define ARGUMENTS_TYPE_LIST_5(A) ARGUMENTS_TYPE_LIST_4(A), A##05
00032 #define ARGUMENTS_TYPE_LIST_6(A) ARGUMENTS_TYPE_LIST_5(A), A##06
00033 #define ARGUMENTS_TYPE_LIST_7(A) ARGUMENTS_TYPE_LIST_6(A), A##07
00034 #define ARGUMENTS_TYPE_LIST_8(A) ARGUMENTS_TYPE_LIST_7(A), A##08
00035 #define ARGUMENTS_TYPE_LIST_9(A) ARGUMENTS_TYPE_LIST_8(A), A##09
00036
00037 #define COMMA_ARGUMENTS_TYPE_LIST_0(A)
00038 #define COMMA_ARGUMENTS_TYPE_LIST_1(A) , A##01
00039 #define COMMA_ARGUMENTS_TYPE_LIST_2(A) COMMA_ARGUMENTS_TYPE_LIST_1(A), A##02
00040 #define COMMA_ARGUMENTS_TYPE_LIST_3(A) COMMA_ARGUMENTS_TYPE_LIST_2(A), A##03
00041 #define COMMA_ARGUMENTS_TYPE_LIST_4(A) COMMA_ARGUMENTS_TYPE_LIST_3(A), A##04
00042 #define COMMA_ARGUMENTS_TYPE_LIST_5(A) COMMA_ARGUMENTS_TYPE_LIST_4(A), A##05
00043 #define COMMA_ARGUMENTS_TYPE_LIST_6(A) COMMA_ARGUMENTS_TYPE_LIST_5(A), A##06
00044 #define COMMA_ARGUMENTS_TYPE_LIST_7(A) COMMA_ARGUMENTS_TYPE_LIST_6(A), A##07
00045 #define COMMA_ARGUMENTS_TYPE_LIST_8(A) COMMA_ARGUMENTS_TYPE_LIST_7(A), A##08
00046 #define COMMA_ARGUMENTS_TYPE_LIST_9(A) COMMA_ARGUMENTS_TYPE_LIST_8(A), A##09
00047
00048 #define PARAMETER_LIST_0
00049 #define PARAMETER_LIST_1 P01 p01
00050 #define PARAMETER_LIST_2 PARAMETER_LIST_1 ,P02 p02
00051 #define PARAMETER_LIST_3 PARAMETER_LIST_2 ,P03 p03
00052 #define PARAMETER_LIST_4 PARAMETER_LIST_3 ,P04 p04
00053 #define PARAMETER_LIST_5 PARAMETER_LIST_4 ,P05 p05
00054 #define PARAMETER_LIST_6 PARAMETER_LIST_5 ,P06 p06
00055 #define PARAMETER_LIST_7 PARAMETER_LIST_6 ,P07 p07
00056 #define PARAMETER_LIST_8 PARAMETER_LIST_7 ,P08 p08
00057 #define PARAMETER_LIST_9 PARAMETER_LIST_8 ,P09 p09
00058
00059 #define COMMA_PARAMETER_LIST_0
00060 #define COMMA_PARAMETER_LIST_1 , P01 p01
00061 #define COMMA_PARAMETER_LIST_2 COMMA_PARAMETER_LIST_1 ,P02 p02
00062 #define COMMA_PARAMETER_LIST_3 COMMA_PARAMETER_LIST_2 ,P03 p03
00063 #define COMMA_PARAMETER_LIST_4 COMMA_PARAMETER_LIST_3 ,P04 p04
00064 #define COMMA_PARAMETER_LIST_5 COMMA_PARAMETER_LIST_4 ,P05 p05
00065 #define COMMA_PARAMETER_LIST_6 COMMA_PARAMETER_LIST_5 ,P06 p06
00066 #define COMMA_PARAMETER_LIST_7 COMMA_PARAMETER_LIST_6 ,P07 p07
00067 #define COMMA_PARAMETER_LIST_8 COMMA_PARAMETER_LIST_7 ,P08 p08
00068 #define COMMA_PARAMETER_LIST_9 COMMA_PARAMETER_LIST_8 ,P09 p09
00069
00070 #define INITIALIZER_LIST_0
00071 #define INITIALIZER_LIST_1 ,a01 (p01)
00072 #define INITIALIZER_LIST_2 INITIALIZER_LIST_1 ,a02 (p02)
00073 #define INITIALIZER_LIST_3 INITIALIZER_LIST_2 ,a03 (p03)
00074 #define INITIALIZER_LIST_4 INITIALIZER_LIST_3 ,a04 (p04)
00075 #define INITIALIZER_LIST_5 INITIALIZER_LIST_4 ,a05 (p05)
00076 #define INITIALIZER_LIST_6 INITIALIZER_LIST_5 ,a06 (p06)
00077 #define INITIALIZER_LIST_7 INITIALIZER_LIST_6 ,a07 (p07)
00078 #define INITIALIZER_LIST_8 INITIALIZER_LIST_7 ,a08 (p08)
00079 #define INITIALIZER_LIST_9 INITIALIZER_LIST_8 ,a09 (p09)
00080
00081 #define DEFAULT_INITIALIZER_LIST_0
00082 #define DEFAULT_INITIALIZER_LIST_1 ,a01 (DefaultValue <P01>::value)
00083 #define DEFAULT_INITIALIZER_LIST_2 DEFAULT_INITIALIZER_LIST_1 ,a02 (DefaultValue <P02>::value)
00084 #define DEFAULT_INITIALIZER_LIST_3 DEFAULT_INITIALIZER_LIST_2 ,a03 (DefaultValue <P03>::value)
00085 #define DEFAULT_INITIALIZER_LIST_4 DEFAULT_INITIALIZER_LIST_3 ,a04 (DefaultValue <P04>::value)
00086 #define DEFAULT_INITIALIZER_LIST_5 DEFAULT_INITIALIZER_LIST_4 ,a05 (DefaultValue <P05>::value)
00087 #define DEFAULT_INITIALIZER_LIST_6 DEFAULT_INITIALIZER_LIST_5 ,a06 (DefaultValue <P06>::value)
00088 #define DEFAULT_INITIALIZER_LIST_7 DEFAULT_INITIALIZER_LIST_6 ,a07 (DefaultValue <P07>::value)
00089 #define DEFAULT_INITIALIZER_LIST_8 DEFAULT_INITIALIZER_LIST_7 ,a08 (DefaultValue <P08>::value)
00090 #define DEFAULT_INITIALIZER_LIST_9 DEFAULT_INITIALIZER_LIST_8 ,a09 (DefaultValue <P09>::value)
00091
00092 #define DECLARE_BOUND_VARIABLE(N) typename BoundArgumentStorageType <P##N>::type a##N;
00093 #define DECLARE_BOUND_VARIABLES_0
00094 #define DECLARE_BOUND_VARIABLES_1 DECLARE_BOUND_VARIABLE(01)
00095 #define DECLARE_BOUND_VARIABLES_2 DECLARE_BOUND_VARIABLES_1 DECLARE_BOUND_VARIABLE(02)
00096 #define DECLARE_BOUND_VARIABLES_3 DECLARE_BOUND_VARIABLES_2 DECLARE_BOUND_VARIABLE(03)
00097 #define DECLARE_BOUND_VARIABLES_4 DECLARE_BOUND_VARIABLES_3 DECLARE_BOUND_VARIABLE(04)
00098 #define DECLARE_BOUND_VARIABLES_5 DECLARE_BOUND_VARIABLES_4 DECLARE_BOUND_VARIABLE(05)
00099 #define DECLARE_BOUND_VARIABLES_6 DECLARE_BOUND_VARIABLES_5 DECLARE_BOUND_VARIABLE(06)
00100 #define DECLARE_BOUND_VARIABLES_7 DECLARE_BOUND_VARIABLES_6 DECLARE_BOUND_VARIABLE(07)
00101 #define DECLARE_BOUND_VARIABLES_8 DECLARE_BOUND_VARIABLES_7 DECLARE_BOUND_VARIABLE(08)
00102 #define DECLARE_BOUND_VARIABLES_9 DECLARE_BOUND_VARIABLES_8 DECLARE_BOUND_VARIABLE(09)
00103
00104 #define COMPARE_VARIABLE(N) (IsSameValue<P##N>::check (a##N, p##N))
00105 #define COMPARE_VARIABLES_0 true
00106 #define COMPARE_VARIABLES_1 COMPARE_VARIABLE(01)
00107 #define COMPARE_VARIABLES_2 COMPARE_VARIABLES_1 && COMPARE_VARIABLE(02)
00108 #define COMPARE_VARIABLES_3 COMPARE_VARIABLES_2 && COMPARE_VARIABLE(03)
00109 #define COMPARE_VARIABLES_4 COMPARE_VARIABLES_3 && COMPARE_VARIABLE(04)
00110 #define COMPARE_VARIABLES_5 COMPARE_VARIABLES_4 && COMPARE_VARIABLE(05)
00111 #define COMPARE_VARIABLES_6 COMPARE_VARIABLES_5 && COMPARE_VARIABLE(06)
00112 #define COMPARE_VARIABLES_7 COMPARE_VARIABLES_6 && COMPARE_VARIABLE(07)
00113 #define COMPARE_VARIABLES_8 COMPARE_VARIABLES_7 && COMPARE_VARIABLE(08)
00114 #define COMPARE_VARIABLES_9 COMPARE_VARIABLES_8 && COMPARE_VARIABLE(09)
00115
00116 #else // UTILS__CALITKO_MOCKS__HELPER_MACROS_H
00117 #undef UTILS__CALITKO_MOCKS__HELPER_MACROS_H
00118
00119 #undef ARGUMENTS_TYPE_LIST_0
00120 #undef ARGUMENTS_TYPE_LIST_1
00121 #undef ARGUMENTS_TYPE_LIST_2
00122 #undef ARGUMENTS_TYPE_LIST_3
00123 #undef ARGUMENTS_TYPE_LIST_4
00124 #undef ARGUMENTS_TYPE_LIST_5
00125 #undef ARGUMENTS_TYPE_LIST_6
00126 #undef ARGUMENTS_TYPE_LIST_7
00127 #undef ARGUMENTS_TYPE_LIST_8
00128 #undef ARGUMENTS_TYPE_LIST_9
00129
00130 #undef COMMA_ARGUMENTS_TYPENAME_LIST_0
00131 #undef COMMA_ARGUMENTS_TYPENAME_LIST_1
00132 #undef COMMA_ARGUMENTS_TYPENAME_LIST_2
00133 #undef COMMA_ARGUMENTS_TYPENAME_LIST_3
00134 #undef COMMA_ARGUMENTS_TYPENAME_LIST_4
00135 #undef COMMA_ARGUMENTS_TYPENAME_LIST_5
00136 #undef COMMA_ARGUMENTS_TYPENAME_LIST_6
00137 #undef COMMA_ARGUMENTS_TYPENAME_LIST_7
00138 #undef COMMA_ARGUMENTS_TYPENAME_LIST_8
00139 #undef COMMA_ARGUMENTS_TYPENAME_LIST_9
00140
00141 #undef PARAMETER_LIST_0
00142 #undef PARAMETER_LIST_1
00143 #undef PARAMETER_LIST_2
00144 #undef PARAMETER_LIST_3
00145 #undef PARAMETER_LIST_4
00146 #undef PARAMETER_LIST_5
00147 #undef PARAMETER_LIST_6
00148 #undef PARAMETER_LIST_7
00149 #undef PARAMETER_LIST_8
00150 #undef PARAMETER_LIST_9
00151
00152 #undef COMMA_PARAMETER_LIST_0
00153 #undef COMMA_PARAMETER_LIST_1
00154 #undef COMMA_PARAMETER_LIST_2
00155 #undef COMMA_PARAMETER_LIST_3
00156 #undef COMMA_PARAMETER_LIST_4
00157 #undef COMMA_PARAMETER_LIST_5
00158 #undef COMMA_PARAMETER_LIST_6
00159 #undef COMMA_PARAMETER_LIST_7
00160 #undef COMMA_PARAMETER_LIST_8
00161 #undef COMMA_PARAMETER_LIST_9
00162
00163 #undef INITIALIZER_LIST_0
00164 #undef INITIALIZER_LIST_1
00165 #undef INITIALIZER_LIST_2
00166 #undef INITIALIZER_LIST_3
00167 #undef INITIALIZER_LIST_4
00168 #undef INITIALIZER_LIST_5
00169 #undef INITIALIZER_LIST_6
00170 #undef INITIALIZER_LIST_7
00171 #undef INITIALIZER_LIST_8
00172 #undef INITIALIZER_LIST_9
00173
00174 #undef DECLARE_BOUND_VARIABLE
00175 #undef DECLARE_BOUND_VARIABLES_0
00176 #undef DECLARE_BOUND_VARIABLES_1
00177 #undef DECLARE_BOUND_VARIABLES_2
00178 #undef DECLARE_BOUND_VARIABLES_3
00179 #undef DECLARE_BOUND_VARIABLES_4
00180 #undef DECLARE_BOUND_VARIABLES_5
00181 #undef DECLARE_BOUND_VARIABLES_6
00182 #undef DECLARE_BOUND_VARIABLES_7
00183 #undef DECLARE_BOUND_VARIABLES_8
00184 #undef DECLARE_BOUND_VARIABLES_9
00185
00186 #undef COMPARE_VARIABLE
00187 #undef COMPARE_VARIABLES_0
00188 #undef COMPARE_VARIABLES_1
00189 #undef COMPARE_VARIABLES_2
00190 #undef COMPARE_VARIABLES_3
00191 #undef COMPARE_VARIABLES_4
00192 #undef COMPARE_VARIABLES_5
00193 #undef COMPARE_VARIABLES_6
00194 #undef COMPARE_VARIABLES_7
00195 #undef COMPARE_VARIABLES_8
00196 #undef COMPARE_VARIABLES_9
00197
00198 #endif // UTILS__CALITKO_MOCKS__HELPER_MACROS_H