AUnit  0.5.3
Unit testing framework for Arduino platforms inspired by ArduinoUnit and Google Test.
Compare.h
Go to the documentation of this file.
1 /*
2 MIT License
3 
4 Copyright (c) 2018 Brian T. Park
5 
6 Permission is hereby granted, free of charge, to any person obtaining a copy
7 of this software and associated documentation files (the "Software"), to deal
8 in the Software without restriction, including without limitation the rights
9 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 copies of the Software, and to permit persons to whom the Software is
11 furnished to do so, subject to the following conditions:
12 
13 The above copyright notice and this permission notice shall be included in all
14 copies or substantial portions of the Software.
15 
16 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 SOFTWARE.
23 */
24 
25 // Significant portions of the design and implementation of this file came from
26 // https://github.com/mmurdoch/arduinounit/blob/master/src/ArduinoUnitUtility/Compare.h
27 
77 #ifndef AUNIT_COMPARE_H
78 #define AUNIT_COMPARE_H
79 
80 #include <stddef.h> // size_t
81 
82 class String;
83 class __FlashStringHelper;
84 
85 namespace aunit {
86 namespace internal {
87 
88 class FCString;
89 
90 // compareString()
91 
92 int compareString(const char* a, const char* b);
93 
94 int compareString(const char* a, const String& b);
95 
96 int compareString(const char* a, const __FlashStringHelper* b);
97 
98 int compareString(const String& a, const char* b);
99 
100 int compareString(const String& a, const String& b);
101 
102 int compareString(const String& a, const __FlashStringHelper* b);
103 
104 int compareString(const __FlashStringHelper* a, const char* b);
105 
106 int compareString(const __FlashStringHelper* a, const __FlashStringHelper* b);
107 
108 int compareString(const __FlashStringHelper* a, const String& b);
109 
110 int compareString(const FCString& a, const FCString& b);
111 
112 // compareStringCase() - case insensitive versions of compareString()
113 
114 int compareStringCase(const char* a, const char* b);
115 
116 int compareStringCase(const char* a, const String& b);
117 
118 int compareStringCase(const char* a, const __FlashStringHelper* b);
119 
120 int compareStringCase(const String& a, const char* b);
121 
122 int compareStringCase(const String& a, const String& b);
123 
124 int compareStringCase(const String& a, const __FlashStringHelper* b);
125 
126 int compareStringCase(const __FlashStringHelper* a, const char* b);
127 
128 int compareStringCase(const __FlashStringHelper* a,
129  const __FlashStringHelper* b);
130 
131 int compareStringCase(const __FlashStringHelper* a, const String& b);
132 
133 int compareStringCase(const FCString& a, const FCString& b);
134 
135 // compareStringN()
136 //
137 // These functions are used to implement the TestRunner::exclude() and
138 // TestRunner::include() features.
139 
141 int compareStringN(const char* a, const char* b, size_t n);
142 
144 int compareStringN(const char* a, const __FlashStringHelper* b, size_t n);
145 
147 int compareStringN(const __FlashStringHelper* a, const char* b, size_t n);
148 
150 int compareStringN(const __FlashStringHelper* a, const __FlashStringHelper* b,
151  size_t n);
152 
154 int compareStringN(const FCString& a, const char* b, size_t n);
155 
157 int compareStringN(const FCString& a, const __FlashStringHelper* b, size_t n);
158 
159 // compareEqual()
160 
161 bool compareEqual(bool a, bool b);
162 
163 bool compareEqual(char a, char b);
164 
165 bool compareEqual(int a, int b);
166 
167 bool compareEqual(unsigned int a, unsigned int b);
168 
169 bool compareEqual(long a, long b);
170 
171 bool compareEqual(unsigned long a, unsigned long b);
172 
173 bool compareEqual(double a, double b);
174 
175 bool compareEqual(const char* a, const char* b);
176 
177 bool compareEqual(const char* a, const String& b);
178 
179 bool compareEqual(const char* a, const __FlashStringHelper* b);
180 
181 bool compareEqual(const __FlashStringHelper* a, const char* b);
182 
183 bool compareEqual( const __FlashStringHelper* a, const __FlashStringHelper* b);
184 
185 bool compareEqual(const __FlashStringHelper* a, const String& b);
186 
187 bool compareEqual(const String& a, const char* b);
188 
189 bool compareEqual(const String& a, const String& b);
190 
191 bool compareEqual(const String& a, const __FlashStringHelper* b);
192 
193 // compareLess()
194 
195 bool compareLess(bool a, bool b);
196 
197 bool compareLess(char a, char b);
198 
199 bool compareLess(int a, int b);
200 
201 bool compareLess(unsigned int a, unsigned int b);
202 
203 bool compareLess(long a, long b);
204 
205 bool compareLess(unsigned long a, unsigned long b);
206 
207 bool compareLess(double a, double b);
208 
209 bool compareLess(const char* a, const char* b);
210 
211 bool compareLess(const char* a, const String& b);
212 
213 bool compareLess(const char* a, const __FlashStringHelper* b);
214 
215 bool compareLess(const __FlashStringHelper* a, const char* b);
216 
217 bool compareLess(const __FlashStringHelper* a, const __FlashStringHelper* b);
218 
219 bool compareLess(const __FlashStringHelper* a, const String& b);
220 
221 bool compareLess(const String& a, const char* b);
222 
223 bool compareLess(const String& a, const String& b);
224 
225 bool compareLess(const String& a, const __FlashStringHelper* b);
226 
227 // compareMore()
228 
229 bool compareMore(bool a, bool b);
230 
231 bool compareMore(char a, char b);
232 
233 bool compareMore(int a, int b);
234 
235 bool compareMore(unsigned int a, unsigned int b);
236 
237 bool compareMore(long a, long b);
238 
239 bool compareMore(unsigned long a, unsigned long b);
240 
241 bool compareMore(double a, double b);
242 
243 bool compareMore(const char* a, const char* b);
244 
245 bool compareMore(const char* a, const String& b);
246 
247 bool compareMore(const char* a, const __FlashStringHelper* b);
248 
249 bool compareMore(const __FlashStringHelper* a, const char* b);
250 
251 bool compareMore(const __FlashStringHelper* a, const __FlashStringHelper* b);
252 
253 bool compareMore(const __FlashStringHelper* a, const String& b);
254 
255 bool compareMore(const String& a, const char* b);
256 
257 bool compareMore(const String& a, const String& b);
258 
259 bool compareMore(const String& a, const __FlashStringHelper* b);
260 
261 // compareLessOrEqual
262 
263 bool compareLessOrEqual(bool a, bool b);
264 
265 bool compareLessOrEqual(char a, char b);
266 
267 bool compareLessOrEqual(int a, int b);
268 
269 bool compareLessOrEqual(unsigned int a, unsigned int b);
270 
271 bool compareLessOrEqual(long a, long b);
272 
273 bool compareLessOrEqual(unsigned long a, unsigned long b);
274 
275 bool compareLessOrEqual(double a, double b);
276 
277 bool compareLessOrEqual(const char* a, const char* b);
278 
279 bool compareLessOrEqual(const char* a, const String& b);
280 
281 bool compareLessOrEqual(const char* a, const __FlashStringHelper* b);
282 
283 bool compareLessOrEqual(const __FlashStringHelper* a, const char* b);
284 
285 bool compareLessOrEqual(
286  const __FlashStringHelper* a, const __FlashStringHelper* b);
287 
288 bool compareLessOrEqual(const __FlashStringHelper* a, const String& b);
289 
290 bool compareLessOrEqual(const String& a, const char* b);
291 
292 bool compareLessOrEqual(const String& a, const String& b);
293 
294 bool compareLessOrEqual(const String& a, const __FlashStringHelper* b);
295 
296 // compareMoreOrEqual
297 
298 bool compareMoreOrEqual(bool a, bool b);
299 
300 bool compareMoreOrEqual(char a, char b);
301 
302 bool compareMoreOrEqual(int a, int b);
303 
304 bool compareMoreOrEqual(unsigned int a, unsigned int b);
305 
306 bool compareMoreOrEqual(long a, long b);
307 
308 bool compareMoreOrEqual(unsigned long a, unsigned long b);
309 
310 bool compareMoreOrEqual(double a, double b);
311 
312 bool compareMoreOrEqual(const char* a, const char* b);
313 
314 bool compareMoreOrEqual(const char* a, const String& b);
315 
316 bool compareMoreOrEqual(const char* a, const __FlashStringHelper* b);
317 
318 bool compareMoreOrEqual(const __FlashStringHelper* a, const char* b);
319 
320 bool compareMoreOrEqual(
321  const __FlashStringHelper* a, const __FlashStringHelper* b);
322 
323 bool compareMoreOrEqual(const __FlashStringHelper* a, const String& b);
324 
325 bool compareMoreOrEqual(const String& a, const char* b);
326 
327 bool compareMoreOrEqual(const String& a, const String& b);
328 
329 bool compareMoreOrEqual(const String& a, const __FlashStringHelper* b);
330 
331 // compareNotEqual
332 
333 bool compareNotEqual(bool a, bool b);
334 
335 bool compareNotEqual(char a, char b);
336 
337 bool compareNotEqual(int a, int b);
338 
339 bool compareNotEqual(unsigned int a, unsigned int b);
340 
341 bool compareNotEqual(long a, long b);
342 
343 bool compareNotEqual(unsigned long a, unsigned long b);
344 
345 bool compareNotEqual(double a, double b);
346 
347 bool compareNotEqual(const char* a, const char* b);
348 
349 bool compareNotEqual(const char* a, const String& b);
350 
351 bool compareNotEqual(const char* a, const __FlashStringHelper* b);
352 
353 bool compareNotEqual(const __FlashStringHelper* a, const char* b);
354 
355 bool compareNotEqual(
356  const __FlashStringHelper* a, const __FlashStringHelper* b);
357 
358 bool compareNotEqual(const __FlashStringHelper* a, const String& b);
359 
360 bool compareNotEqual(const String& a, const char* b);
361 
362 bool compareNotEqual(const String& a, const String& b);
363 
364 bool compareNotEqual(const String& a, const __FlashStringHelper* b);
365 
366 // compareStringCaseEqual
367 
368 bool compareStringCaseEqual(const char* a, const char* b);
369 
370 bool compareStringCaseEqual(const char* a, const String& b);
371 
372 bool compareStringCaseEqual(const char* a, const __FlashStringHelper* b);
373 
374 bool compareStringCaseEqual(const __FlashStringHelper* a, const char* b);
375 
376 bool compareStringCaseEqual( const __FlashStringHelper* a,
377  const __FlashStringHelper* b);
378 
379 bool compareStringCaseEqual(const __FlashStringHelper* a, const String& b);
380 
381 bool compareStringCaseEqual(const String& a, const char* b);
382 
383 bool compareStringCaseEqual(const String& a, const String& b);
384 
385 bool compareStringCaseEqual(const String& a, const __FlashStringHelper* b);
386 
387 // compareStringCaseNotEqual
388 
389 bool compareStringCaseNotEqual(const char* a, const char* b);
390 
391 bool compareStringCaseNotEqual(const char* a, const String& b);
392 
393 bool compareStringCaseNotEqual(const char* a, const __FlashStringHelper* b);
394 
395 bool compareStringCaseNotEqual(const __FlashStringHelper* a, const char* b);
396 
397 bool compareStringCaseNotEqual( const __FlashStringHelper* a,
398  const __FlashStringHelper* b);
399 
400 bool compareStringCaseNotEqual(const __FlashStringHelper* a, const String& b);
401 
402 bool compareStringCaseNotEqual(const String& a, const char* b);
403 
404 bool compareStringCaseNotEqual(const String& a, const String& b);
405 
406 bool compareStringCaseNotEqual(const String& a, const __FlashStringHelper* b);
407 
408 }
409 }
410 
411 #endif