Groonga 3.0.9 Source Code Document
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
grn-assertions.h
Go to the documentation of this file.
1 /* -*- c-basic-offset: 2; coding: utf-8 -*- */
2 /*
3  Copyright (C) 2008-2012 Kouhei Sutou <kou@clear-code.com>
4 
5  This library is free software; you can redistribute it and/or
6  modify it under the terms of the GNU Lesser General Public
7  License version 2.1 as published by the Free Software Foundation.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Lesser General Public License for more details.
13 
14  You should have received a copy of the GNU Lesser General Public
15  License along with this library; if not, write to the Free Software
16  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18 
19 #ifndef __GRN_ASSERTIONS_H__
20 #define __GRN_ASSERTIONS_H__
21 
22 #include "grn-test-utils.h"
23 #include "grn-test-shortcut.h"
24 
25 #define grn_test_assert(expression, ...) \
26  cut_trace_with_info_expression( \
27  cut_test_with_user_message( \
28  grn_test_assert_helper((expression), #expression), \
29  __VA_ARGS__), \
30  grn_test_assert(expression))
31 
32 #define grn_test_assert_equal_rc(expected, actual, ...) \
33  cut_trace_with_info_expression( \
34  cut_test_with_user_message( \
35  grn_test_assert_equal_rc_helper((expected), (actual), \
36  #expected, #actual), \
37  __VA_ARGS__), \
38  grn_test_assert_equal_rc(expected, actual))
39 
40 #define grn_test_assert_equal_id(context, expected, actual, ...) \
41  cut_trace_with_info_expression( \
42  cut_test_with_user_message( \
43  grn_test_assert_equal_id_helper((context), \
44  (expected), (actual), \
45  #context, \
46  #expected, #actual), \
47  __VA_ARGS__), \
48  grn_test_assert_equal_id(context, expected, actual))
49 
50 #define grn_test_assert_equal_type(context, expected, actual, ...) \
51  cut_trace_with_info_expression( \
52  cut_test_with_user_message( \
53  grn_test_assert_equal_type_helper((context), \
54  (expected), (actual), \
55  #context, \
56  #expected, #actual), \
57  __VA_ARGS__), \
58  grn_test_assert_equal_type(context, expected, actual))
59 
60 #define grn_test_assert_equal_record_id(context, table, \
61  expected, actual, ...) \
62  cut_trace_with_info_expression( \
63  cut_test_with_user_message( \
64  grn_test_assert_equal_record_id_helper((context), (table), \
65  (expected), (actual), \
66  #context, #table, \
67  #expected, #actual), \
68  __VA_ARGS__), \
69  grn_test_assert_equal_record_id(context, table, expected, actual))
70 
71 #define grn_test_assert_nil(expression, ...) \
72  cut_trace_with_info_expression( \
73  cut_test_with_user_message( \
74  grn_test_assert_nil_helper((expression), #expression), \
75  __VA_ARGS__), \
76  grn_test_assert_nil(expression))
77 
78 #define grn_test_assert_not_nil(expression, ...) \
79  cut_trace_with_info_expression( \
80  cut_test_with_user_message( \
81  grn_test_assert_not_nil_helper((expression), #expression), \
82  __VA_ARGS__), \
83  grn_test_assert_not_nil(expression))
84 
85 #define grn_test_assert_context(context, ...) \
86  cut_trace_with_info_expression( \
87  cut_test_with_user_message( \
88  grn_test_assert_context_helper((context), #context), \
89  __VA_ARGS__), \
90  grn_test_assert_context(context))
91 
92 #define grn_test_assert_error(rc, message, context, ...) \
93  cut_trace_with_info_expression( \
94  cut_test_with_user_message( \
95  grn_test_assert_error_helper((rc), (message), (context), #context), \
96  __VA_ARGS__), \
97  grn_test_assert_error(context))
98 
99 #define grn_test_assert_null(context, object, ...) \
100  cut_trace_with_info_expression( \
101  cut_test_with_user_message( \
102  grn_test_assert_null_helper((context), (object), #object), \
103  __VA_ARGS__), \
104  grn_test_assert_null(context, object))
105 
106 #define grn_test_assert_not_null(context, object, ...) \
107  cut_trace_with_info_expression( \
108  cut_test_with_user_message( \
109  grn_test_assert_not_null_helper((context), (object), #object), \
110  __VA_ARGS__), \
111  grn_test_assert_not_null(context, object))
112 
113 #define grn_test_assert_select(context, expected, select_result, \
114  text_column_name, ...) \
115  cut_trace_with_info_expression( \
116  cut_test_with_user_message( \
117  grn_test_assert_select_helper((context), (expected), \
118  (select_result), \
119  (text_column_name), \
120  #expected, \
121  #select_result, #text_column_name), \
122  __VA_ARGS__), \
123  grn_test_assert_select(context, expected, select_result))
124 
125 #define grn_test_assert_expr(context, inspected, expr, ...) \
126  cut_trace_with_info_expression( \
127  cut_test_with_user_message( \
128  grn_test_assert_expr_helper((context), (inspected), (expr), \
129  #inspected, #expr), \
130  __VA_ARGS__), \
131  grn_test_assert_expr(context, inspected, expr))
132 
133 #define grn_test_assert_equal_encoding(expected, actual, ...) \
134  cut_trace_with_info_expression( \
135  cut_test_with_user_message( \
136  grn_test_assert_equal_encoding_helper((expected), (actual), \
137  #expected, #actual), \
138  __VA_ARGS__), \
139  grn_test_assert_equal_encoding(expected, actual))
140 
141 #define grn_test_assert_equal_table(context, expected, table, \
142  text_column_name, ...) \
143  cut_trace_with_info_expression( \
144  cut_test_with_user_message( \
145  grn_test_assert_equal_table_helper((context), (expected), \
146  (table), (text_column_name), \
147  #expected, #table, \
148  #text_column_name), \
149  __VA_ARGS__), \
150  grn_test_assert_equal_table(context, expected, table))
151 
152 #define grn_test_assert_send_command_error(context, expected_rc, \
153  expected_message, command, \
154  ...) \
155  cut_trace_with_info_expression( \
156  cut_test_with_user_message( \
157  grn_test_assert_send_command_error_helper((context), \
158  (expected_rc), \
159  (expected_message), \
160  (command), \
161  #expected_rc, \
162  #expected_message, \
163  #command), \
164  __VA_ARGS__), \
165  grn_test_assert_send_command_error(context, \
166  expected_rc, \
167  expected_message, \
168  command))
169 
170 G_BEGIN_DECLS
171 
173  const gchar *expression);
175  grn_rc actual,
176  const gchar *expression_expected,
177  const gchar *expression_actual);
179  grn_id expected,
180  grn_id actual,
181  const gchar *expression_context,
182  const gchar *expression_expected,
183  const gchar *expression_actual);
185  (grn_ctx *context,
186  unsigned char expected,
187  unsigned char actual,
188  const gchar *expression_context,
189  const gchar *expression_expected,
190  const gchar *expression_actual);
192  (grn_ctx *context,
193  grn_obj *table,
194  grn_id expected,
195  grn_id actual,
196  const gchar *expression_context,
197  const gchar *expression_table,
198  const gchar *expression_expected,
199  const gchar *expression_actual);
201  const gchar *expression);
203  const gchar *expression);
205  const gchar *expression);
206 void grn_test_assert_error_helper (grn_rc expected_rc,
207  const gchar *expected_message,
208  grn_ctx *context,
209  const gchar *expression);
211  grn_obj *object,
212  const gchar *expression);
214  grn_obj *object,
215  const gchar *expression);
217  const GList *expected,
218  grn_obj *select_result,
219  const gchar *text_column_name,
220  const gchar *expected_expression,
221  const gchar *select_result_expression,
222  const gchar *text_column_name_expression);
224  const gchar *inspected,
225  grn_obj *expr,
226  const gchar *inspected_expression,
227  const gchar *expr_expression);
229  (grn_encoding expected,
230  grn_encoding actual,
231  const gchar *expression_expected,
232  const gchar *expression_actual);
234  (grn_ctx *context,
235  const GList *expected,
236  grn_obj *table,
237  const gchar *text_column_name,
238  const gchar *expected_expression,
239  const gchar *select_result_expression,
240  const gchar *text_column_name_expression);
242  (grn_ctx *context,
243  grn_rc expected_rc,
244  const gchar *expected_message,
245  const gchar *command,
246  const gchar *expected_rc_expression,
247  const gchar *expected_message_expression,
248  const gchar *command_expression);
249 
250 G_END_DECLS
251 
252 #endif