2 BOOST_AUTO_TEST_CASE (aligned_image_test)
4 SimpleImage* s = new SimpleImage (PIX_FMT_RGB24, libdcp::Size (50, 50), true);
5 BOOST_CHECK_EQUAL (s->components(), 1);
6 /* 160 is 150 aligned to the nearest 32 bytes */
7 BOOST_CHECK_EQUAL (s->stride()[0], 160);
8 BOOST_CHECK_EQUAL (s->line_size()[0], 150);
9 BOOST_CHECK (s->data()[0]);
10 BOOST_CHECK (!s->data()[1]);
11 BOOST_CHECK (!s->data()[2]);
12 BOOST_CHECK (!s->data()[3]);
14 /* copy constructor */
15 SimpleImage* t = new SimpleImage (*s);
16 BOOST_CHECK_EQUAL (t->components(), 1);
17 BOOST_CHECK_EQUAL (t->stride()[0], 160);
18 BOOST_CHECK_EQUAL (t->line_size()[0], 150);
19 BOOST_CHECK (t->data()[0]);
20 BOOST_CHECK (!t->data()[1]);
21 BOOST_CHECK (!t->data()[2]);
22 BOOST_CHECK (!t->data()[3]);
23 BOOST_CHECK (t->data() != s->data());
24 BOOST_CHECK (t->data()[0] != s->data()[0]);
25 BOOST_CHECK (t->line_size() != s->line_size());
26 BOOST_CHECK (t->line_size()[0] == s->line_size()[0]);
27 BOOST_CHECK (t->stride() != s->stride());
28 BOOST_CHECK (t->stride()[0] == s->stride()[0]);
30 /* assignment operator */
31 SimpleImage* u = new SimpleImage (PIX_FMT_YUV422P, libdcp::Size (150, 150), false);
33 BOOST_CHECK_EQUAL (u->components(), 1);
34 BOOST_CHECK_EQUAL (u->stride()[0], 160);
35 BOOST_CHECK_EQUAL (u->line_size()[0], 150);
36 BOOST_CHECK (u->data()[0]);
37 BOOST_CHECK (!u->data()[1]);
38 BOOST_CHECK (!u->data()[2]);
39 BOOST_CHECK (!u->data()[3]);
40 BOOST_CHECK (u->data() != s->data());
41 BOOST_CHECK (u->data()[0] != s->data()[0]);
42 BOOST_CHECK (u->line_size() != s->line_size());
43 BOOST_CHECK (u->line_size()[0] == s->line_size()[0]);
44 BOOST_CHECK (u->stride() != s->stride());
45 BOOST_CHECK (u->stride()[0] == s->stride()[0]);
52 BOOST_AUTO_TEST_CASE (compact_image_test)
54 SimpleImage* s = new SimpleImage (PIX_FMT_RGB24, libdcp::Size (50, 50), false);
55 BOOST_CHECK_EQUAL (s->components(), 1);
56 BOOST_CHECK_EQUAL (s->stride()[0], 50 * 3);
57 BOOST_CHECK_EQUAL (s->line_size()[0], 50 * 3);
58 BOOST_CHECK (s->data()[0]);
59 BOOST_CHECK (!s->data()[1]);
60 BOOST_CHECK (!s->data()[2]);
61 BOOST_CHECK (!s->data()[3]);
63 /* copy constructor */
64 SimpleImage* t = new SimpleImage (*s);
65 BOOST_CHECK_EQUAL (t->components(), 1);
66 BOOST_CHECK_EQUAL (t->stride()[0], 50 * 3);
67 BOOST_CHECK_EQUAL (t->line_size()[0], 50 * 3);
68 BOOST_CHECK (t->data()[0]);
69 BOOST_CHECK (!t->data()[1]);
70 BOOST_CHECK (!t->data()[2]);
71 BOOST_CHECK (!t->data()[3]);
72 BOOST_CHECK (t->data() != s->data());
73 BOOST_CHECK (t->data()[0] != s->data()[0]);
74 BOOST_CHECK (t->line_size() != s->line_size());
75 BOOST_CHECK (t->line_size()[0] == s->line_size()[0]);
76 BOOST_CHECK (t->stride() != s->stride());
77 BOOST_CHECK (t->stride()[0] == s->stride()[0]);
79 /* assignment operator */
80 SimpleImage* u = new SimpleImage (PIX_FMT_YUV422P, libdcp::Size (150, 150), true);
82 BOOST_CHECK_EQUAL (u->components(), 1);
83 BOOST_CHECK_EQUAL (u->stride()[0], 50 * 3);
84 BOOST_CHECK_EQUAL (u->line_size()[0], 50 * 3);
85 BOOST_CHECK (u->data()[0]);
86 BOOST_CHECK (!u->data()[1]);
87 BOOST_CHECK (!u->data()[2]);
88 BOOST_CHECK (!u->data()[3]);
89 BOOST_CHECK (u->data() != s->data());
90 BOOST_CHECK (u->data()[0] != s->data()[0]);
91 BOOST_CHECK (u->line_size() != s->line_size());
92 BOOST_CHECK (u->line_size()[0] == s->line_size()[0]);
93 BOOST_CHECK (u->stride() != s->stride());
94 BOOST_CHECK (u->stride()[0] == s->stride()[0]);