Mercurial > malikania
annotate tests/libclient/color/main.cpp @ 7:45b3c770803c
Misc: switch to lower case (part 2)
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 23 Mar 2016 17:11:39 +0100 |
parents | 8991989c4708 |
children | a1e80d991968 |
rev | line source |
---|---|
0 | 1 /* |
2 * main.cpp -- test Color | |
3 * | |
4 * Copyright (c) 2013-2016 Malikania Authors | |
5 * | |
6 * Permission to use, copy, modify, and/or distribute this software for any | |
7 * purpose with or without fee is hereby granted, provided that the above | |
8 * copyright notice and this permission notice appear in all copies. | |
9 * | |
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
17 */ | |
18 | |
19 #include <gtest/gtest.h> | |
20 | |
7
45b3c770803c
Misc: switch to lower case (part 2)
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
21 #include <malikania/color.h> |
0 | 22 |
23 using namespace malikania; | |
24 | |
25 /* | |
26 * Separate arguments | |
27 * ------------------------------------------------------------------ | |
28 */ | |
29 | |
30 TEST(Basic, black) | |
31 { | |
32 Color c; | |
33 | |
34 ASSERT_EQ(0, c.red()); | |
35 ASSERT_EQ(0, c.green()); | |
36 ASSERT_EQ(0, c.blue()); | |
37 ASSERT_EQ(255, c.alpha()); | |
38 } | |
39 | |
40 TEST(Basic, white) | |
41 { | |
42 Color c{255, 255, 255, 255}; | |
43 | |
44 ASSERT_EQ(255, c.red()); | |
45 ASSERT_EQ(255, c.green()); | |
46 ASSERT_EQ(255, c.blue()); | |
47 ASSERT_EQ(255, c.alpha()); | |
48 } | |
49 | |
50 TEST(Basic, red) | |
51 { | |
52 Color c{255, 0, 0, 255}; | |
53 | |
54 ASSERT_EQ(255, c.red()); | |
55 ASSERT_EQ(0, c.green()); | |
56 ASSERT_EQ(0, c.blue()); | |
57 ASSERT_EQ(255, c.alpha()); | |
58 } | |
59 | |
60 TEST(Basic, green) | |
61 { | |
62 Color c{0, 255, 0, 255}; | |
63 | |
64 ASSERT_EQ(0, c.red()); | |
65 ASSERT_EQ(255, c.green()); | |
66 ASSERT_EQ(0, c.blue()); | |
67 ASSERT_EQ(255, c.alpha()); | |
68 } | |
69 | |
70 TEST(Basic, blue) | |
71 { | |
72 Color c{0, 0, 255, 255}; | |
73 | |
74 ASSERT_EQ(0, c.red()); | |
75 ASSERT_EQ(0, c.green()); | |
76 ASSERT_EQ(255, c.blue()); | |
77 ASSERT_EQ(255, c.alpha()); | |
78 } | |
79 | |
80 /* | |
81 * Hexadecimal | |
82 * ------------------------------------------------------------------ | |
83 */ | |
84 | |
85 TEST(Hex, black) | |
86 { | |
87 Color c{0xff000000}; | |
88 | |
89 ASSERT_EQ(0, c.red()); | |
90 ASSERT_EQ(0, c.green()); | |
91 ASSERT_EQ(0, c.blue()); | |
92 ASSERT_EQ(255, c.alpha()); | |
93 } | |
94 | |
95 TEST(Hex, white) | |
96 { | |
97 Color c{0xffffffff}; | |
98 | |
99 ASSERT_EQ(255, c.red()); | |
100 ASSERT_EQ(255, c.green()); | |
101 ASSERT_EQ(255, c.blue()); | |
102 ASSERT_EQ(255, c.alpha()); | |
103 } | |
104 | |
105 TEST(Hex, red) | |
106 { | |
107 Color c{0xffff0000}; | |
108 | |
109 ASSERT_EQ(255, c.red()); | |
110 ASSERT_EQ(0, c.green()); | |
111 ASSERT_EQ(0, c.blue()); | |
112 ASSERT_EQ(255, c.alpha()); | |
113 } | |
114 | |
115 TEST(Hex, green) | |
116 { | |
117 Color c{0xff00ff00}; | |
118 | |
119 ASSERT_EQ(0, c.red()); | |
120 ASSERT_EQ(255, c.green()); | |
121 ASSERT_EQ(0, c.blue()); | |
122 ASSERT_EQ(255, c.alpha()); | |
123 } | |
124 | |
125 TEST(Hex, blue) | |
126 { | |
127 Color c{0xff0000ff}; | |
128 | |
129 ASSERT_EQ(0, c.red()); | |
130 ASSERT_EQ(0, c.green()); | |
131 ASSERT_EQ(255, c.blue()); | |
132 ASSERT_EQ(255, c.alpha()); | |
133 } | |
134 | |
135 /* | |
136 * Names | |
137 * ------------------------------------------------------------------ | |
138 * | |
139 * Test most famous. | |
140 */ | |
141 | |
142 TEST(Named, black) | |
143 { | |
144 Color c{"black"}; | |
145 | |
146 ASSERT_EQ(0, c.red()); | |
147 ASSERT_EQ(0, c.green()); | |
148 ASSERT_EQ(0, c.blue()); | |
149 ASSERT_EQ(255, c.alpha()); | |
150 } | |
151 | |
152 TEST(Named, white) | |
153 { | |
154 Color c{"white"}; | |
155 | |
156 ASSERT_EQ(255, c.red()); | |
157 ASSERT_EQ(255, c.green()); | |
158 ASSERT_EQ(255, c.blue()); | |
159 ASSERT_EQ(255, c.alpha()); | |
160 } | |
161 | |
162 TEST(Named, red) | |
163 { | |
164 Color c{"red"}; | |
165 | |
166 ASSERT_EQ(255, c.red()); | |
167 ASSERT_EQ(0, c.green()); | |
168 ASSERT_EQ(0, c.blue()); | |
169 ASSERT_EQ(255, c.alpha()); | |
170 } | |
171 | |
172 TEST(Named, green) | |
173 { | |
174 Color c{"green"}; | |
175 | |
176 ASSERT_EQ(0, c.red()); | |
177 ASSERT_EQ(128, c.green()); | |
178 ASSERT_EQ(0, c.blue()); | |
179 ASSERT_EQ(255, c.alpha()); | |
180 } | |
181 | |
182 TEST(Named, blue) | |
183 { | |
184 Color c{"blue"}; | |
185 | |
186 ASSERT_EQ(0, c.red()); | |
187 ASSERT_EQ(0, c.green()); | |
188 ASSERT_EQ(255, c.blue()); | |
189 ASSERT_EQ(255, c.alpha()); | |
190 } | |
191 | |
192 TEST(Named, wrong) | |
193 { | |
194 try { | |
195 Color c{"does not exist"}; | |
196 | |
197 FAIL() << "exception expected"; | |
198 } catch (const std::exception &) { | |
199 } | |
200 } | |
201 | |
202 /* | |
203 * #rrggbb | |
204 * ------------------------------------------------------------------ | |
205 * | |
206 * Test most famous. | |
207 */ | |
208 | |
209 TEST(FullRgb, black) | |
210 { | |
211 Color c{"#000000"}; | |
212 | |
213 ASSERT_EQ(0, c.red()); | |
214 ASSERT_EQ(0, c.green()); | |
215 ASSERT_EQ(0, c.blue()); | |
216 ASSERT_EQ(255, c.alpha()); | |
217 } | |
218 | |
219 TEST(FullRgb, white) | |
220 { | |
221 Color c{"#ffffff"}; | |
222 | |
223 ASSERT_EQ(255, c.red()); | |
224 ASSERT_EQ(255, c.green()); | |
225 ASSERT_EQ(255, c.blue()); | |
226 ASSERT_EQ(255, c.alpha()); | |
227 } | |
228 | |
229 TEST(FullRgb, red) | |
230 { | |
231 Color c{"#ff0000"}; | |
232 | |
233 ASSERT_EQ(255, c.red()); | |
234 ASSERT_EQ(0, c.green()); | |
235 ASSERT_EQ(0, c.blue()); | |
236 ASSERT_EQ(255, c.alpha()); | |
237 } | |
238 | |
239 TEST(FullRgb, green) | |
240 { | |
241 Color c{"#00ff00"}; | |
242 | |
243 ASSERT_EQ(0, c.red()); | |
244 ASSERT_EQ(255, c.green()); | |
245 ASSERT_EQ(0, c.blue()); | |
246 ASSERT_EQ(255, c.alpha()); | |
247 } | |
248 | |
249 TEST(FullRgb, blue) | |
250 { | |
251 Color c{"#0000ff"}; | |
252 | |
253 ASSERT_EQ(0, c.red()); | |
254 ASSERT_EQ(0, c.green()); | |
255 ASSERT_EQ(255, c.blue()); | |
256 ASSERT_EQ(255, c.alpha()); | |
257 } | |
258 | |
259 TEST(FullRgb, wrong) | |
260 { | |
261 try { | |
262 Color c{"#ghijkl"}; | |
263 | |
264 FAIL() << "exception expected"; | |
265 } catch (const std::exception &) { | |
266 } | |
267 } | |
268 | |
269 /* | |
270 * #rgb | |
271 * ------------------------------------------------------------------ | |
272 * | |
273 * Test most famous. | |
274 */ | |
275 | |
276 TEST(ShortRgb, black) | |
277 { | |
278 Color c{"#000"}; | |
279 | |
280 ASSERT_EQ(0, c.red()); | |
281 ASSERT_EQ(0, c.green()); | |
282 ASSERT_EQ(0, c.blue()); | |
283 ASSERT_EQ(255, c.alpha()); | |
284 } | |
285 | |
286 TEST(ShortRgb, white) | |
287 { | |
288 Color c{"#fff"}; | |
289 | |
290 ASSERT_EQ(255, c.red()); | |
291 ASSERT_EQ(255, c.green()); | |
292 ASSERT_EQ(255, c.blue()); | |
293 ASSERT_EQ(255, c.alpha()); | |
294 } | |
295 | |
296 TEST(ShortRgb, red) | |
297 { | |
298 Color c{"#f00"}; | |
299 | |
300 ASSERT_EQ(255, c.red()); | |
301 ASSERT_EQ(0, c.green()); | |
302 ASSERT_EQ(0, c.blue()); | |
303 ASSERT_EQ(255, c.alpha()); | |
304 } | |
305 | |
306 TEST(ShortRgb, green) | |
307 { | |
308 Color c{"#0f0"}; | |
309 | |
310 ASSERT_EQ(0, c.red()); | |
311 ASSERT_EQ(255, c.green()); | |
312 ASSERT_EQ(0, c.blue()); | |
313 ASSERT_EQ(255, c.alpha()); | |
314 } | |
315 | |
316 TEST(ShortRgb, blue) | |
317 { | |
318 Color c{"#00f"}; | |
319 | |
320 ASSERT_EQ(0, c.red()); | |
321 ASSERT_EQ(0, c.green()); | |
322 ASSERT_EQ(255, c.blue()); | |
323 ASSERT_EQ(255, c.alpha()); | |
324 } | |
325 | |
326 TEST(ShortRgb, combination) | |
327 { | |
328 Color c{"#123"}; | |
329 | |
330 ASSERT_EQ(17, c.red()); | |
331 ASSERT_EQ(34, c.green()); | |
332 ASSERT_EQ(51, c.blue()); | |
333 ASSERT_EQ(255, c.alpha()); | |
334 } | |
335 | |
336 TEST(ShortRgb, wrong) | |
337 { | |
338 try { | |
339 Color c{"#ghi"}; | |
340 | |
341 FAIL() << "exception expected"; | |
342 } catch (const std::exception &) { | |
343 } | |
344 } | |
345 | |
346 int main(int argc, char **argv) | |
347 { | |
348 testing::InitGoogleTest(&argc, argv); | |
349 | |
350 return RUN_ALL_TESTS(); | |
7
45b3c770803c
Misc: switch to lower case (part 2)
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
351 } |