AUnit  0.3.1
Unit testing framework for Arduino platforms inspired by ArduinoUnit.
Compare.h
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 
28 #ifndef AUNIT_COMPARE_H
29 #define AUNIT_COMPARE_H
30 
31 #include <stddef.h> // size_t
32 
33 class String;
34 class __FlashStringHelper;
35 
36 namespace aunit {
37 
38 class FCString;
39 
40 // compareString()
41 
42 int compareString(const char* a, const char* b);
43 
44 int compareString(const char* a, const String& b);
45 
46 int compareString(const char* a, const __FlashStringHelper* b);
47 
48 int compareString(const String& a, const char* b);
49 
50 int compareString(const String& a, const String& b);
51 
52 int compareString(const String& a, const __FlashStringHelper* b);
53 
54 int compareString(const __FlashStringHelper* a, const char* b);
55 
56 int compareString(const __FlashStringHelper* a, const __FlashStringHelper* b);
57 
58 int compareString(const __FlashStringHelper* a, const String& b);
59 
60 int compareString(const FCString& a, const FCString& b);
61 
62 // compareStringN()
63 //
64 // These methods are used to implement the TestRunner::exclude() and
65 // TestRunner::include() features.
66 
68 int compareStringN(const char* a, const char* b, size_t n);
69 
71 int compareStringN(const char* a, const __FlashStringHelper* b, size_t n);
72 
74 int compareStringN(const __FlashStringHelper* a, const char* b, size_t n);
75 
77 int compareStringN(const __FlashStringHelper* a, const __FlashStringHelper* b,
78  size_t n);
79 
81 int compareStringN(const FCString& a, const char* b, size_t n);
82 
84 int compareStringN(const FCString& a, const __FlashStringHelper* b, size_t n);
85 
86 // compareEqual()
87 
88 bool compareEqual(bool a, bool b);
89 
90 bool compareEqual(char a, char b);
91 
92 bool compareEqual(int a, int b);
93 
94 bool compareEqual(unsigned int a, unsigned int b);
95 
96 bool compareEqual(long a, long b);
97 
98 bool compareEqual(unsigned long a, unsigned long b);
99 
100 bool compareEqual(double a, double b);
101 
102 bool compareEqual(const char* a, const char* b);
103 
104 bool compareEqual(const char* a, const String& b);
105 
106 bool compareEqual(const char* a, const __FlashStringHelper* b);
107 
108 bool compareEqual(const __FlashStringHelper* a, const char* b);
109 
110 bool compareEqual( const __FlashStringHelper* a, const __FlashStringHelper* b);
111 
112 bool compareEqual(const __FlashStringHelper* a, const String& b);
113 
114 bool compareEqual(const String& a, const char* b);
115 
116 bool compareEqual(const String& a, const String& b);
117 
118 bool compareEqual(const String& a, const __FlashStringHelper* b);
119 
120 // compareLess()
121 
122 bool compareLess(bool a, bool b);
123 
124 bool compareLess(char a, char b);
125 
126 bool compareLess(int a, int b);
127 
128 bool compareLess(unsigned int a, unsigned int b);
129 
130 bool compareLess(long a, long b);
131 
132 bool compareLess(unsigned long a, unsigned long b);
133 
134 bool compareLess(double a, double b);
135 
136 bool compareLess(const char* a, const char* b);
137 
138 bool compareLess(const char* a, const String& b);
139 
140 bool compareLess(const char* a, const __FlashStringHelper* b);
141 
142 bool compareLess(const __FlashStringHelper* a, const char* b);
143 
144 bool compareLess(const __FlashStringHelper* a, const __FlashStringHelper* b);
145 
146 bool compareLess(const __FlashStringHelper* a, const String& b);
147 
148 bool compareLess(const String& a, const char* b);
149 
150 bool compareLess(const String& a, const String& b);
151 
152 bool compareLess(const String& a, const __FlashStringHelper* b);
153 
154 // compareMore()
155 
156 bool compareMore(bool a, bool b);
157 
158 bool compareMore(char a, char b);
159 
160 bool compareMore(int a, int b);
161 
162 bool compareMore(unsigned int a, unsigned int b);
163 
164 bool compareMore(long a, long b);
165 
166 bool compareMore(unsigned long a, unsigned long b);
167 
168 bool compareMore(double a, double b);
169 
170 bool compareMore(const char* a, const char* b);
171 
172 bool compareMore(const char* a, const String& b);
173 
174 bool compareMore(const char* a, const __FlashStringHelper* b);
175 
176 bool compareMore(const __FlashStringHelper* a, const char* b);
177 
178 bool compareMore(const __FlashStringHelper* a, const __FlashStringHelper* b);
179 
180 bool compareMore(const __FlashStringHelper* a, const String& b);
181 
182 bool compareMore(const String& a, const char* b);
183 
184 bool compareMore(const String& a, const String& b);
185 
186 bool compareMore(const String& a, const __FlashStringHelper* b);
187 
188 // compareLessOrEqual
189 
190 bool compareLessOrEqual(bool a, bool b);
191 
192 bool compareLessOrEqual(char a, char b);
193 
194 bool compareLessOrEqual(int a, int b);
195 
196 bool compareLessOrEqual(unsigned int a, unsigned int b);
197 
198 bool compareLessOrEqual(long a, long b);
199 
200 bool compareLessOrEqual(unsigned long a, unsigned long b);
201 
202 bool compareLessOrEqual(double a, double b);
203 
204 bool compareLessOrEqual(const char* a, const char* b);
205 
206 bool compareLessOrEqual(const char* a, const String& b);
207 
208 bool compareLessOrEqual(const char* a, const __FlashStringHelper* b);
209 
210 bool compareLessOrEqual(const __FlashStringHelper* a, const char* b);
211 
212 bool compareLessOrEqual(
213  const __FlashStringHelper* a, const __FlashStringHelper* b);
214 
215 bool compareLessOrEqual(const __FlashStringHelper* a, const String& b);
216 
217 bool compareLessOrEqual(const String& a, const char* b);
218 
219 bool compareLessOrEqual(const String& a, const String& b);
220 
221 bool compareLessOrEqual(const String& a, const __FlashStringHelper* b);
222 
223 // compareMoreOrEqual
224 
225 bool compareMoreOrEqual(bool a, bool b);
226 
227 bool compareMoreOrEqual(char a, char b);
228 
229 bool compareMoreOrEqual(int a, int b);
230 
231 bool compareMoreOrEqual(unsigned int a, unsigned int b);
232 
233 bool compareMoreOrEqual(long a, long b);
234 
235 bool compareMoreOrEqual(unsigned long a, unsigned long b);
236 
237 bool compareMoreOrEqual(double a, double b);
238 
239 bool compareMoreOrEqual(const char* a, const char* b);
240 
241 bool compareMoreOrEqual(const char* a, const String& b);
242 
243 bool compareMoreOrEqual(const char* a, const __FlashStringHelper* b);
244 
245 bool compareMoreOrEqual(const __FlashStringHelper* a, const char* b);
246 
247 bool compareMoreOrEqual(
248  const __FlashStringHelper* a, const __FlashStringHelper* b);
249 
250 bool compareMoreOrEqual(const __FlashStringHelper* a, const String& b);
251 
252 bool compareMoreOrEqual(const String& a, const char* b);
253 
254 bool compareMoreOrEqual(const String& a, const String& b);
255 
256 bool compareMoreOrEqual(const String& a, const __FlashStringHelper* b);
257 
258 // compareNotEqual
259 
260 bool compareNotEqual(bool a, bool b);
261 
262 bool compareNotEqual(char a, char b);
263 
264 bool compareNotEqual(int a, int b);
265 
266 bool compareNotEqual(unsigned int a, unsigned int b);
267 
268 bool compareNotEqual(long a, long b);
269 
270 bool compareNotEqual(unsigned long a, unsigned long b);
271 
272 bool compareNotEqual(double a, double b);
273 
274 bool compareNotEqual(const char* a, const char* b);
275 
276 bool compareNotEqual(const char* a, const String& b);
277 
278 bool compareNotEqual(const char* a, const __FlashStringHelper* b);
279 
280 bool compareNotEqual(const __FlashStringHelper* a, const char* b);
281 
282 bool compareNotEqual(
283  const __FlashStringHelper* a, const __FlashStringHelper* b);
284 
285 bool compareNotEqual(const __FlashStringHelper* a, const String& b);
286 
287 bool compareNotEqual(const String& a, const char* b);
288 
289 bool compareNotEqual(const String& a, const String& b);
290 
291 bool compareNotEqual(const String& a, const __FlashStringHelper* b);
292 
293 }
294 
295 #endif