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