AUnit  1.5.5
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 
70 #ifndef AUNIT_COMPARE_H
71 #define AUNIT_COMPARE_H
72 
73 #include <stddef.h> // size_t
74 
75 class String;
76 class __FlashStringHelper;
77 
78 namespace aunit {
79 namespace internal {
80 
81 // compareString()
82 
83 int compareString(const char* a, const char* b);
84 
85 int compareString(const char* a, const String& b);
86 
87 int compareString(const char* a, const __FlashStringHelper* b);
88 
89 int compareString(const String& a, const char* b);
90 
91 int compareString(const String& a, const String& b);
92 
93 int compareString(const String& a, const __FlashStringHelper* b);
94 
95 int compareString(const __FlashStringHelper* a, const char* b);
96 
97 int compareString(const __FlashStringHelper* a, const __FlashStringHelper* b);
98 
99 int compareString(const __FlashStringHelper* a, const String& b);
100 
101 // compareStringCase() - case insensitive versions of compareString()
102 
103 int compareStringCase(const char* a, const char* b);
104 
105 int compareStringCase(const char* a, const String& b);
106 
107 int compareStringCase(const char* a, const __FlashStringHelper* b);
108 
109 int compareStringCase(const String& a, const char* b);
110 
111 int compareStringCase(const String& a, const String& b);
112 
113 int compareStringCase(const String& a, const __FlashStringHelper* b);
114 
115 int compareStringCase(const __FlashStringHelper* a, const char* b);
116 
117 int compareStringCase(const __FlashStringHelper* a,
118  const __FlashStringHelper* b);
119 
120 int compareStringCase(const __FlashStringHelper* a, const String& b);
121 
122 // compareStringN()
123 //
124 // These functions are used to implement the TestRunner::exclude() and
125 // TestRunner::include() features.
126 
128 int compareStringN(const char* a, const char* b, size_t n);
129 
131 int compareStringN(const char* a, const __FlashStringHelper* b, size_t n);
132 
134 int compareStringN(const __FlashStringHelper* a, const char* b, size_t n);
135 
137 int compareStringN(const __FlashStringHelper* a, const __FlashStringHelper* b,
138  size_t n);
139 
140 // compareEqual()
141 
142 bool compareEqual(bool a, bool b);
143 
144 bool compareEqual(char a, char b);
145 
146 bool compareEqual(int a, int b);
147 
148 bool compareEqual(unsigned int a, unsigned int b);
149 
150 bool compareEqual(long a, long b);
151 
152 bool compareEqual(unsigned long a, unsigned long b);
153 
154 bool compareEqual(long long a, long long b);
155 
156 bool compareEqual(unsigned long long a, unsigned long long b);
157 
158 bool compareEqual(double a, double b);
159 
160 bool compareEqual(const void* a, const void* b);
161 
162 bool compareEqual(const char* a, const char* b);
163 
164 bool compareEqual(const char* a, const String& b);
165 
166 bool compareEqual(const char* a, const __FlashStringHelper* b);
167 
168 bool compareEqual(const __FlashStringHelper* a, const char* b);
169 
170 bool compareEqual( const __FlashStringHelper* a, const __FlashStringHelper* b);
171 
172 bool compareEqual(const __FlashStringHelper* a, const String& b);
173 
174 bool compareEqual(const String& a, const char* b);
175 
176 bool compareEqual(const String& a, const String& b);
177 
178 bool compareEqual(const String& a, const __FlashStringHelper* b);
179 
180 // compareLess()
181 
182 bool compareLess(bool a, bool b);
183 
184 bool compareLess(char a, char b);
185 
186 bool compareLess(int a, int b);
187 
188 bool compareLess(unsigned int a, unsigned int b);
189 
190 bool compareLess(long a, long b);
191 
192 bool compareLess(unsigned long a, unsigned long b);
193 
194 bool compareLess(long long a, long long b);
195 
196 bool compareLess(unsigned long long a, unsigned long long b);
197 
198 bool compareLess(double a, double b);
199 
200 bool compareLess(const char* a, const char* b);
201 
202 bool compareLess(const char* a, const String& b);
203 
204 bool compareLess(const char* a, const __FlashStringHelper* b);
205 
206 bool compareLess(const __FlashStringHelper* a, const char* b);
207 
208 bool compareLess(const __FlashStringHelper* a, const __FlashStringHelper* b);
209 
210 bool compareLess(const __FlashStringHelper* a, const String& b);
211 
212 bool compareLess(const String& a, const char* b);
213 
214 bool compareLess(const String& a, const String& b);
215 
216 bool compareLess(const String& a, const __FlashStringHelper* b);
217 
218 // compareMore()
219 
220 bool compareMore(bool a, bool b);
221 
222 bool compareMore(char a, char b);
223 
224 bool compareMore(int a, int b);
225 
226 bool compareMore(unsigned int a, unsigned int b);
227 
228 bool compareMore(long a, long b);
229 
230 bool compareMore(unsigned long a, unsigned long b);
231 
232 bool compareMore(long long a, long long b);
233 
234 bool compareMore(unsigned long long a, unsigned long long b);
235 
236 bool compareMore(double a, double b);
237 
238 bool compareMore(const char* a, const char* b);
239 
240 bool compareMore(const char* a, const String& b);
241 
242 bool compareMore(const char* a, const __FlashStringHelper* b);
243 
244 bool compareMore(const __FlashStringHelper* a, const char* b);
245 
246 bool compareMore(const __FlashStringHelper* a, const __FlashStringHelper* b);
247 
248 bool compareMore(const __FlashStringHelper* a, const String& b);
249 
250 bool compareMore(const String& a, const char* b);
251 
252 bool compareMore(const String& a, const String& b);
253 
254 bool compareMore(const String& a, const __FlashStringHelper* b);
255 
256 // compareLessOrEqual
257 
258 bool compareLessOrEqual(bool a, bool b);
259 
260 bool compareLessOrEqual(char a, char b);
261 
262 bool compareLessOrEqual(int a, int b);
263 
264 bool compareLessOrEqual(unsigned int a, unsigned int b);
265 
266 bool compareLessOrEqual(long a, long b);
267 
268 bool compareLessOrEqual(unsigned long a, unsigned long b);
269 
270 bool compareLessOrEqual(long long a, long long b);
271 
272 bool compareLessOrEqual(unsigned long long a, unsigned long long b);
273 
274 bool compareLessOrEqual(double a, double b);
275 
276 bool compareLessOrEqual(const char* a, const char* b);
277 
278 bool compareLessOrEqual(const char* a, const String& b);
279 
280 bool compareLessOrEqual(const char* a, const __FlashStringHelper* b);
281 
282 bool compareLessOrEqual(const __FlashStringHelper* a, const char* b);
283 
284 bool compareLessOrEqual(
285  const __FlashStringHelper* a, const __FlashStringHelper* b);
286 
287 bool compareLessOrEqual(const __FlashStringHelper* a, const String& b);
288 
289 bool compareLessOrEqual(const String& a, const char* b);
290 
291 bool compareLessOrEqual(const String& a, const String& b);
292 
293 bool compareLessOrEqual(const String& a, const __FlashStringHelper* b);
294 
295 // compareMoreOrEqual
296 
297 bool compareMoreOrEqual(bool a, bool b);
298 
299 bool compareMoreOrEqual(char a, char b);
300 
301 bool compareMoreOrEqual(int a, int b);
302 
303 bool compareMoreOrEqual(unsigned int a, unsigned int b);
304 
305 bool compareMoreOrEqual(long a, long b);
306 
307 bool compareMoreOrEqual(unsigned long a, unsigned long b);
308 
309 bool compareMoreOrEqual(long long a, long long b);
310 
311 bool compareMoreOrEqual(unsigned long long a, unsigned long long b);
312 
313 bool compareMoreOrEqual(double a, double b);
314 
315 bool compareMoreOrEqual(const char* a, const char* b);
316 
317 bool compareMoreOrEqual(const char* a, const String& b);
318 
319 bool compareMoreOrEqual(const char* a, const __FlashStringHelper* b);
320 
321 bool compareMoreOrEqual(const __FlashStringHelper* a, const char* b);
322 
323 bool compareMoreOrEqual(
324  const __FlashStringHelper* a, const __FlashStringHelper* b);
325 
326 bool compareMoreOrEqual(const __FlashStringHelper* a, const String& b);
327 
328 bool compareMoreOrEqual(const String& a, const char* b);
329 
330 bool compareMoreOrEqual(const String& a, const String& b);
331 
332 bool compareMoreOrEqual(const String& a, const __FlashStringHelper* b);
333 
334 // compareNotEqual
335 
336 bool compareNotEqual(bool a, bool b);
337 
338 bool compareNotEqual(char a, char b);
339 
340 bool compareNotEqual(int a, int b);
341 
342 bool compareNotEqual(unsigned int a, unsigned int b);
343 
344 bool compareNotEqual(long a, long b);
345 
346 bool compareNotEqual(unsigned long a, unsigned long b);
347 
348 bool compareNotEqual(long long a, long long b);
349 
350 bool compareNotEqual(unsigned long long a, unsigned long long b);
351 
352 bool compareNotEqual(double a, double b);
353 
354 bool compareNotEqual(const void* a, const void* b);
355 
356 bool compareNotEqual(const char* a, const char* b);
357 
358 bool compareNotEqual(const char* a, const String& b);
359 
360 bool compareNotEqual(const char* a, const __FlashStringHelper* b);
361 
362 bool compareNotEqual(const __FlashStringHelper* a, const char* b);
363 
364 bool compareNotEqual(
365  const __FlashStringHelper* a, const __FlashStringHelper* b);
366 
367 bool compareNotEqual(const __FlashStringHelper* a, const String& b);
368 
369 bool compareNotEqual(const String& a, const char* b);
370 
371 bool compareNotEqual(const String& a, const String& b);
372 
373 bool compareNotEqual(const String& a, const __FlashStringHelper* b);
374 
375 // compareStringCaseEqual
376 
377 bool compareStringCaseEqual(const char* a, const char* b);
378 
379 bool compareStringCaseEqual(const char* a, const String& b);
380 
381 bool compareStringCaseEqual(const char* a, const __FlashStringHelper* b);
382 
383 bool compareStringCaseEqual(const __FlashStringHelper* a, const char* b);
384 
385 bool compareStringCaseEqual( const __FlashStringHelper* a,
386  const __FlashStringHelper* b);
387 
388 bool compareStringCaseEqual(const __FlashStringHelper* a, const String& b);
389 
390 bool compareStringCaseEqual(const String& a, const char* b);
391 
392 bool compareStringCaseEqual(const String& a, const String& b);
393 
394 bool compareStringCaseEqual(const String& a, const __FlashStringHelper* b);
395 
396 // compareStringCaseNotEqual
397 
398 bool compareStringCaseNotEqual(const char* a, const char* b);
399 
400 bool compareStringCaseNotEqual(const char* a, const String& b);
401 
402 bool compareStringCaseNotEqual(const char* a, const __FlashStringHelper* b);
403 
404 bool compareStringCaseNotEqual(const __FlashStringHelper* a, const char* b);
405 
406 bool compareStringCaseNotEqual( const __FlashStringHelper* a,
407  const __FlashStringHelper* b);
408 
409 bool compareStringCaseNotEqual(const __FlashStringHelper* a, const String& b);
410 
411 bool compareStringCaseNotEqual(const String& a, const char* b);
412 
413 bool compareStringCaseNotEqual(const String& a, const String& b);
414 
415 bool compareStringCaseNotEqual(const String& a, const __FlashStringHelper* b);
416 
417 // compareNear
418 
419 bool compareNear(int a, int b, int error);
420 
421 bool compareNear(unsigned int a, unsigned int b, unsigned int error);
422 
423 bool compareNear(long a, long b, long error);
424 
425 bool compareNear(unsigned long a, unsigned long b, unsigned long error);
426 
427 bool compareNear(double a, double b, double error);
428 
429 // compareNotNear
430 
431 bool compareNotNear(int a, int b, int error);
432 
433 bool compareNotNear(unsigned int a, unsigned int b, unsigned int error);
434 
435 bool compareNotNear(long a, long b, long error);
436 
437 bool compareNotNear(unsigned long a, unsigned long b, unsigned long error);
438 
439 bool compareNotNear(double a, double b, double error);
440 
441 }
442 }
443 
444 #endif