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