AUnit  0.5.2
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 class FCString;
82 
83 // compareString()
84 
85 int compareString(const char* a, const char* b);
86 
87 int compareString(const char* a, const String& b);
88 
89 int compareString(const char* a, const __FlashStringHelper* b);
90 
91 int compareString(const String& a, const char* b);
92 
93 int compareString(const String& a, const String& b);
94 
95 int compareString(const String& a, const __FlashStringHelper* b);
96 
97 int compareString(const __FlashStringHelper* a, const char* b);
98 
99 int compareString(const __FlashStringHelper* a, const __FlashStringHelper* b);
100 
101 int compareString(const __FlashStringHelper* a, const String& b);
102 
103 int compareString(const FCString& a, const FCString& b);
104 
105 // compareStringN()
106 //
107 // These functions are used to implement the TestRunner::exclude() and
108 // TestRunner::include() features.
109 
111 int compareStringN(const char* a, const char* b, size_t n);
112 
114 int compareStringN(const char* a, const __FlashStringHelper* b, size_t n);
115 
117 int compareStringN(const __FlashStringHelper* a, const char* b, size_t n);
118 
120 int compareStringN(const __FlashStringHelper* a, const __FlashStringHelper* b,
121  size_t n);
122 
124 int compareStringN(const FCString& a, const char* b, size_t n);
125 
127 int compareStringN(const FCString& a, const __FlashStringHelper* b, size_t n);
128 
129 // compareEqual()
130 
131 bool compareEqual(bool a, bool b);
132 
133 bool compareEqual(char a, char b);
134 
135 bool compareEqual(int a, int b);
136 
137 bool compareEqual(unsigned int a, unsigned int b);
138 
139 bool compareEqual(long a, long b);
140 
141 bool compareEqual(unsigned long a, unsigned long b);
142 
143 bool compareEqual(double a, double b);
144 
145 bool compareEqual(const char* a, const char* b);
146 
147 bool compareEqual(const char* a, const String& b);
148 
149 bool compareEqual(const char* a, const __FlashStringHelper* b);
150 
151 bool compareEqual(const __FlashStringHelper* a, const char* b);
152 
153 bool compareEqual( const __FlashStringHelper* a, const __FlashStringHelper* b);
154 
155 bool compareEqual(const __FlashStringHelper* a, const String& b);
156 
157 bool compareEqual(const String& a, const char* b);
158 
159 bool compareEqual(const String& a, const String& b);
160 
161 bool compareEqual(const String& a, const __FlashStringHelper* b);
162 
163 // compareLess()
164 
165 bool compareLess(bool a, bool b);
166 
167 bool compareLess(char a, char b);
168 
169 bool compareLess(int a, int b);
170 
171 bool compareLess(unsigned int a, unsigned int b);
172 
173 bool compareLess(long a, long b);
174 
175 bool compareLess(unsigned long a, unsigned long b);
176 
177 bool compareLess(double a, double b);
178 
179 bool compareLess(const char* a, const char* b);
180 
181 bool compareLess(const char* a, const String& b);
182 
183 bool compareLess(const char* a, const __FlashStringHelper* b);
184 
185 bool compareLess(const __FlashStringHelper* a, const char* b);
186 
187 bool compareLess(const __FlashStringHelper* a, const __FlashStringHelper* b);
188 
189 bool compareLess(const __FlashStringHelper* a, const String& b);
190 
191 bool compareLess(const String& a, const char* b);
192 
193 bool compareLess(const String& a, const String& b);
194 
195 bool compareLess(const String& a, const __FlashStringHelper* b);
196 
197 // compareMore()
198 
199 bool compareMore(bool a, bool b);
200 
201 bool compareMore(char a, char b);
202 
203 bool compareMore(int a, int b);
204 
205 bool compareMore(unsigned int a, unsigned int b);
206 
207 bool compareMore(long a, long b);
208 
209 bool compareMore(unsigned long a, unsigned long b);
210 
211 bool compareMore(double a, double b);
212 
213 bool compareMore(const char* a, const char* b);
214 
215 bool compareMore(const char* a, const String& b);
216 
217 bool compareMore(const char* a, const __FlashStringHelper* b);
218 
219 bool compareMore(const __FlashStringHelper* a, const char* b);
220 
221 bool compareMore(const __FlashStringHelper* a, const __FlashStringHelper* b);
222 
223 bool compareMore(const __FlashStringHelper* a, const String& b);
224 
225 bool compareMore(const String& a, const char* b);
226 
227 bool compareMore(const String& a, const String& b);
228 
229 bool compareMore(const String& a, const __FlashStringHelper* b);
230 
231 // compareLessOrEqual
232 
233 bool compareLessOrEqual(bool a, bool b);
234 
235 bool compareLessOrEqual(char a, char b);
236 
237 bool compareLessOrEqual(int a, int b);
238 
239 bool compareLessOrEqual(unsigned int a, unsigned int b);
240 
241 bool compareLessOrEqual(long a, long b);
242 
243 bool compareLessOrEqual(unsigned long a, unsigned long b);
244 
245 bool compareLessOrEqual(double a, double b);
246 
247 bool compareLessOrEqual(const char* a, const char* b);
248 
249 bool compareLessOrEqual(const char* a, const String& b);
250 
251 bool compareLessOrEqual(const char* a, const __FlashStringHelper* b);
252 
253 bool compareLessOrEqual(const __FlashStringHelper* a, const char* b);
254 
255 bool compareLessOrEqual(
256  const __FlashStringHelper* a, const __FlashStringHelper* b);
257 
258 bool compareLessOrEqual(const __FlashStringHelper* a, const String& b);
259 
260 bool compareLessOrEqual(const String& a, const char* b);
261 
262 bool compareLessOrEqual(const String& a, const String& b);
263 
264 bool compareLessOrEqual(const String& a, const __FlashStringHelper* b);
265 
266 // compareMoreOrEqual
267 
268 bool compareMoreOrEqual(bool a, bool b);
269 
270 bool compareMoreOrEqual(char a, char b);
271 
272 bool compareMoreOrEqual(int a, int b);
273 
274 bool compareMoreOrEqual(unsigned int a, unsigned int b);
275 
276 bool compareMoreOrEqual(long a, long b);
277 
278 bool compareMoreOrEqual(unsigned long a, unsigned long b);
279 
280 bool compareMoreOrEqual(double a, double b);
281 
282 bool compareMoreOrEqual(const char* a, const char* b);
283 
284 bool compareMoreOrEqual(const char* a, const String& b);
285 
286 bool compareMoreOrEqual(const char* a, const __FlashStringHelper* b);
287 
288 bool compareMoreOrEqual(const __FlashStringHelper* a, const char* b);
289 
290 bool compareMoreOrEqual(
291  const __FlashStringHelper* a, const __FlashStringHelper* b);
292 
293 bool compareMoreOrEqual(const __FlashStringHelper* a, const String& b);
294 
295 bool compareMoreOrEqual(const String& a, const char* b);
296 
297 bool compareMoreOrEqual(const String& a, const String& b);
298 
299 bool compareMoreOrEqual(const String& a, const __FlashStringHelper* b);
300 
301 // compareNotEqual
302 
303 bool compareNotEqual(bool a, bool b);
304 
305 bool compareNotEqual(char a, char b);
306 
307 bool compareNotEqual(int a, int b);
308 
309 bool compareNotEqual(unsigned int a, unsigned int b);
310 
311 bool compareNotEqual(long a, long b);
312 
313 bool compareNotEqual(unsigned long a, unsigned long b);
314 
315 bool compareNotEqual(double a, double b);
316 
317 bool compareNotEqual(const char* a, const char* b);
318 
319 bool compareNotEqual(const char* a, const String& b);
320 
321 bool compareNotEqual(const char* a, const __FlashStringHelper* b);
322 
323 bool compareNotEqual(const __FlashStringHelper* a, const char* b);
324 
325 bool compareNotEqual(
326  const __FlashStringHelper* a, const __FlashStringHelper* b);
327 
328 bool compareNotEqual(const __FlashStringHelper* a, const String& b);
329 
330 bool compareNotEqual(const String& a, const char* b);
331 
332 bool compareNotEqual(const String& a, const String& b);
333 
334 bool compareNotEqual(const String& a, const __FlashStringHelper* b);
335 
336 }
337 }
338 
339 #endif