Skip to content

Commit 093a238

Browse files
Restored missing rgbc bgra functions unit tests
1 parent be25727 commit 093a238

File tree

1 file changed

+105
-0
lines changed

1 file changed

+105
-0
lines changed

image/tests/test_image_color.cpp

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,28 @@ TEST_F(color_test, to_bgr_conversion)
126126
EXPECT_EQ(bgr_array[2], 100); // r
127127
}
128128

129+
TEST_F(color_test, to_rgba_conversion)
130+
{
131+
tc::img::color c(100, 150, 200, 128);
132+
auto rgba_array = c.to_rgba();
133+
EXPECT_EQ(rgba_array.size(), 4);
134+
EXPECT_EQ(rgba_array[0], 100); // r
135+
EXPECT_EQ(rgba_array[1], 150); // g
136+
EXPECT_EQ(rgba_array[2], 200); // b
137+
EXPECT_EQ(rgba_array[3], 128); // a
138+
}
139+
140+
TEST_F(color_test, to_bgra_conversion)
141+
{
142+
tc::img::color c(100, 150, 200, 128);
143+
auto bgra_array = c.to_bgra();
144+
EXPECT_EQ(bgra_array.size(), 4);
145+
EXPECT_EQ(bgra_array[0], 200); // b
146+
EXPECT_EQ(bgra_array[1], 150); // g
147+
EXPECT_EQ(bgra_array[2], 100); // r
148+
EXPECT_EQ(bgra_array[3], 128); // a
149+
}
150+
129151
// Test equality operators
130152
TEST_F(color_test, equality_operator)
131153
{
@@ -163,4 +185,87 @@ TEST_F(color_test, boundary_values)
163185
EXPECT_EQ(c_max.a, 255);
164186
}
165187

188+
// Test rgba/bgra conversions with boundary values
189+
TEST_F(color_test, rgba_bgra_conversion_boundary_values)
190+
{
191+
// Test minimum values
192+
tc::img::color c_min(0, 0, 0, 0);
193+
auto rgba_min = c_min.to_rgba();
194+
auto bgra_min = c_min.to_bgra();
195+
196+
EXPECT_EQ(rgba_min[0], 0); // r
197+
EXPECT_EQ(rgba_min[1], 0); // g
198+
EXPECT_EQ(rgba_min[2], 0); // b
199+
EXPECT_EQ(rgba_min[3], 0); // a
200+
201+
EXPECT_EQ(bgra_min[0], 0); // b
202+
EXPECT_EQ(bgra_min[1], 0); // g
203+
EXPECT_EQ(bgra_min[2], 0); // r
204+
EXPECT_EQ(bgra_min[3], 0); // a
205+
206+
// Test maximum values
207+
tc::img::color c_max(255, 255, 255, 255);
208+
auto rgba_max = c_max.to_rgba();
209+
auto bgra_max = c_max.to_bgra();
210+
211+
EXPECT_EQ(rgba_max[0], 255); // r
212+
EXPECT_EQ(rgba_max[1], 255); // g
213+
EXPECT_EQ(rgba_max[2], 255); // b
214+
EXPECT_EQ(rgba_max[3], 255); // a
215+
216+
EXPECT_EQ(bgra_max[0], 255); // b
217+
EXPECT_EQ(bgra_max[1], 255); // g
218+
EXPECT_EQ(bgra_max[2], 255); // r
219+
EXPECT_EQ(bgra_max[3], 255); // a
220+
}
221+
222+
// Test rgba/bgra conversions with static colors
223+
TEST_F(color_test, rgba_bgra_conversion_static_colors)
224+
{
225+
// Test red color
226+
auto red_color = tc::img::color::red();
227+
auto red_rgba = red_color.to_rgba();
228+
auto red_bgra = red_color.to_bgra();
229+
230+
EXPECT_EQ(red_rgba[0], 255); // r
231+
EXPECT_EQ(red_rgba[1], 0); // g
232+
EXPECT_EQ(red_rgba[2], 0); // b
233+
EXPECT_EQ(red_rgba[3], 255); // a
234+
235+
EXPECT_EQ(red_bgra[0], 0); // b
236+
EXPECT_EQ(red_bgra[1], 0); // g
237+
EXPECT_EQ(red_bgra[2], 255); // r
238+
EXPECT_EQ(red_bgra[3], 255); // a
239+
240+
// Test green color
241+
auto green_color = tc::img::color::green();
242+
auto green_rgba = green_color.to_rgba();
243+
auto green_bgra = green_color.to_bgra();
244+
245+
EXPECT_EQ(green_rgba[0], 0); // r
246+
EXPECT_EQ(green_rgba[1], 255); // g
247+
EXPECT_EQ(green_rgba[2], 0); // b
248+
EXPECT_EQ(green_rgba[3], 255); // a
249+
250+
EXPECT_EQ(green_bgra[0], 0); // b
251+
EXPECT_EQ(green_bgra[1], 255); // g
252+
EXPECT_EQ(green_bgra[2], 0); // r
253+
EXPECT_EQ(green_bgra[3], 255); // a
254+
255+
// Test blue color
256+
auto blue_color = tc::img::color::blue();
257+
auto blue_rgba = blue_color.to_rgba();
258+
auto blue_bgra = blue_color.to_bgra();
259+
260+
EXPECT_EQ(blue_rgba[0], 0); // r
261+
EXPECT_EQ(blue_rgba[1], 0); // g
262+
EXPECT_EQ(blue_rgba[2], 255); // b
263+
EXPECT_EQ(blue_rgba[3], 255); // a
264+
265+
EXPECT_EQ(blue_bgra[0], 255); // b
266+
EXPECT_EQ(blue_bgra[1], 0); // g
267+
EXPECT_EQ(blue_bgra[2], 0); // r
268+
EXPECT_EQ(blue_bgra[3], 255); // a
269+
}
270+
166271
}

0 commit comments

Comments
 (0)