AUnit  1.2.1
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 char* a, const char* b);
161 
162 bool compareEqual(const char* a, const String& b);
163 
164 bool compareEqual(const char* a, const __FlashStringHelper* b);
165 
166 bool compareEqual(const __FlashStringHelper* a, const char* b);
167 
168 bool compareEqual( const __FlashStringHelper* a, const __FlashStringHelper* b);
169 
170 bool compareEqual(const __FlashStringHelper* a, const String& b);
171 
172 bool compareEqual(const String& a, const char* b);
173 
174 bool compareEqual(const String& a, const String& b);
175 
176 bool compareEqual(const String& a, const __FlashStringHelper* b);
177 
178 // compareLess()
179 
180 bool compareLess(bool a, bool b);
181 
182 bool compareLess(char a, char b);
183 
184 bool compareLess(int a, int b);
185 
186 bool compareLess(unsigned int a, unsigned int b);
187 
188 bool compareLess(long a, long b);
189 
190 bool compareLess(unsigned long a, unsigned long b);
191 
192 bool compareLess(long long a, long long b);
193 
194 bool compareLess(unsigned long long a, unsigned long long b);
195 
196 bool compareLess(double a, double b);
197 
198 bool compareLess(const char* a, const char* b);
199 
200 bool compareLess(const char* a, const String& b);
201 
202 bool compareLess(const char* a, const __FlashStringHelper* b);
203 
204 bool compareLess(const __FlashStringHelper* a, const char* b);
205 
206 bool compareLess(const __FlashStringHelper* a, const __FlashStringHelper* b);
207 
208 bool compareLess(const __FlashStringHelper* a, const String& b);
209 
210 bool compareLess(const String& a, const char* b);
211 
212 bool compareLess(const String& a, const String& b);
213 
214 bool compareLess(const String& a, const __FlashStringHelper* b);
215 
216 // compareMore()
217 
218 bool compareMore(bool a, bool b);
219 
220 bool compareMore(char a, char b);
221 
222 bool compareMore(int a, int b);
223 
224 bool compareMore(unsigned int a, unsigned int b);
225 
226 bool compareMore(long a, long b);
227 
228 bool compareMore(unsigned long a, unsigned long b);
229 
230 bool compareMore(long long a, long long b);
231 
232 bool compareMore(unsigned long long a, unsigned long long b);
233 
234 bool compareMore(double a, double b);
235 
236 bool compareMore(const char* a, const char* b);
237 
238 bool compareMore(const char* a, const String& b);
239 
240 bool compareMore(const char* a, const __FlashStringHelper* b);
241 
242 bool compareMore(const __FlashStringHelper* a, const char* b);
243 
244 bool compareMore(const __FlashStringHelper* a, const __FlashStringHelper* b);
245 
246 bool compareMore(const __FlashStringHelper* a, const String& b);
247 
248 bool compareMore(const String& a, const char* b);
249 
250 bool compareMore(const String& a, const String& b);
251 
252 bool compareMore(const String& a, const __FlashStringHelper* b);
253 
254 // compareLessOrEqual
255 
256 bool compareLessOrEqual(bool a, bool b);
257 
258 bool compareLessOrEqual(char a, char b);
259 
260 bool compareLessOrEqual(int a, int b);
261 
262 bool compareLessOrEqual(unsigned int a, unsigned int b);
263 
264 bool compareLessOrEqual(long a, long b);
265 
266 bool compareLessOrEqual(unsigned long a, unsigned long b);
267 
268 bool compareLessOrEqual(long long a, long long b);
269 
270 bool compareLessOrEqual(unsigned long long a, unsigned long long b);
271 
272 bool compareLessOrEqual(double a, double b);
273 
274 bool compareLessOrEqual(const char* a, const char* b);
275 
276 bool compareLessOrEqual(const char* a, const String& b);
277 
278 bool compareLessOrEqual(const char* a, const __FlashStringHelper* b);
279 
280 bool compareLessOrEqual(const __FlashStringHelper* a, const char* b);
281 
282 bool compareLessOrEqual(
283  const __FlashStringHelper* a, const __FlashStringHelper* b);
284 
285 bool compareLessOrEqual(const __FlashStringHelper* a, const String& b);
286 
287 bool compareLessOrEqual(const String& a, const char* b);
288 
289 bool compareLessOrEqual(const String& a, const String& b);
290 
291 bool compareLessOrEqual(const String& a, const __FlashStringHelper* b);
292 
293 // compareMoreOrEqual
294 
295 bool compareMoreOrEqual(bool a, bool b);
296 
297 bool compareMoreOrEqual(char a, char b);
298 
299 bool compareMoreOrEqual(int a, int b);
300 
301 bool compareMoreOrEqual(unsigned int a, unsigned int b);
302 
303 bool compareMoreOrEqual(long a, long b);
304 
305 bool compareMoreOrEqual(unsigned long a, unsigned long b);
306 
307 bool compareMoreOrEqual(long long a, long long b);
308 
309 bool compareMoreOrEqual(unsigned long long a, unsigned long long b);
310 
311 bool compareMoreOrEqual(double a, double b);
312 
313 bool compareMoreOrEqual(const char* a, const char* b);
314 
315 bool compareMoreOrEqual(const char* a, const String& b);
316 
317 bool compareMoreOrEqual(const char* a, const __FlashStringHelper* b);
318 
319 bool compareMoreOrEqual(const __FlashStringHelper* a, const char* b);
320 
321 bool compareMoreOrEqual(
322  const __FlashStringHelper* a, const __FlashStringHelper* b);
323 
324 bool compareMoreOrEqual(const __FlashStringHelper* a, const String& b);
325 
326 bool compareMoreOrEqual(const String& a, const char* b);
327 
328 bool compareMoreOrEqual(const String& a, const String& b);
329 
330 bool compareMoreOrEqual(const String& a, const __FlashStringHelper* b);
331 
332 // compareNotEqual
333 
334 bool compareNotEqual(bool a, bool b);
335 
336 bool compareNotEqual(char a, char b);
337 
338 bool compareNotEqual(int a, int b);
339 
340 bool compareNotEqual(unsigned int a, unsigned int b);
341 
342 bool compareNotEqual(long a, long b);
343 
344 bool compareNotEqual(unsigned long a, unsigned long b);
345 
346 bool compareNotEqual(long long a, long long b);
347 
348 bool compareNotEqual(unsigned long long a, unsigned long long b);
349 
350 bool compareNotEqual(double a, double b);
351 
352 bool compareNotEqual(const char* a, const char* b);
353 
354 bool compareNotEqual(const char* a, const String& b);
355 
356 bool compareNotEqual(const char* a, const __FlashStringHelper* b);
357 
358 bool compareNotEqual(const __FlashStringHelper* a, const char* b);
359 
360 bool compareNotEqual(
361  const __FlashStringHelper* a, const __FlashStringHelper* b);
362 
363 bool compareNotEqual(const __FlashStringHelper* a, const String& b);
364 
365 bool compareNotEqual(const String& a, const char* b);
366 
367 bool compareNotEqual(const String& a, const String& b);
368 
369 bool compareNotEqual(const String& a, const __FlashStringHelper* b);
370 
371 // compareStringCaseEqual
372 
373 bool compareStringCaseEqual(const char* a, const char* b);
374 
375 bool compareStringCaseEqual(const char* a, const String& b);
376 
377 bool compareStringCaseEqual(const char* a, const __FlashStringHelper* b);
378 
379 bool compareStringCaseEqual(const __FlashStringHelper* a, const char* b);
380 
381 bool compareStringCaseEqual( const __FlashStringHelper* a,
382  const __FlashStringHelper* b);
383 
384 bool compareStringCaseEqual(const __FlashStringHelper* a, const String& b);
385 
386 bool compareStringCaseEqual(const String& a, const char* b);
387 
388 bool compareStringCaseEqual(const String& a, const String& b);
389 
390 bool compareStringCaseEqual(const String& a, const __FlashStringHelper* b);
391 
392 // compareStringCaseNotEqual
393 
394 bool compareStringCaseNotEqual(const char* a, const char* b);
395 
396 bool compareStringCaseNotEqual(const char* a, const String& b);
397 
398 bool compareStringCaseNotEqual(const char* a, const __FlashStringHelper* b);
399 
400 bool compareStringCaseNotEqual(const __FlashStringHelper* a, const char* b);
401 
402 bool compareStringCaseNotEqual( const __FlashStringHelper* a,
403  const __FlashStringHelper* b);
404 
405 bool compareStringCaseNotEqual(const __FlashStringHelper* a, const String& b);
406 
407 bool compareStringCaseNotEqual(const String& a, const char* b);
408 
409 bool compareStringCaseNotEqual(const String& a, const String& b);
410 
411 bool compareStringCaseNotEqual(const String& a, const __FlashStringHelper* b);
412 
413 // compareNear
414 
415 bool compareNear(int a, int b, int error);
416 
417 bool compareNear(unsigned int a, unsigned int b, unsigned int error);
418 
419 bool compareNear(long a, long b, long error);
420 
421 bool compareNear(unsigned long a, unsigned long b, unsigned long error);
422 
423 bool compareNear(double a, double b, double error);
424 
425 // compareNotNear
426 
427 bool compareNotNear(int a, int b, int error);
428 
429 bool compareNotNear(unsigned int a, unsigned int b, unsigned int error);
430 
431 bool compareNotNear(long a, long b, long error);
432 
433 bool compareNotNear(unsigned long a, unsigned long b, unsigned long error);
434 
435 bool compareNotNear(double a, double b, double error);
436 
437 }
438 }
439 
440 #endif