Add class for encoded image buffer
[platform/core/uifw/dali-adaptor.git] / automated-tests / src / dali-adaptor / utc-Dali-EncodedImageBuffer.cpp
1 /*
2  * Copyright (c) 2021 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 #include <stdlib.h>
19 #include <unistd.h>
20 #include <dali/dali.h>
21 #include <dali-test-suite-utils.h>
22 #include <dali/public-api/adaptor-framework/encoded-image-buffer.h>
23
24 using namespace Dali;
25
26 namespace
27 {
28 EncodedImageBuffer::RawBufferType tinybuffer()
29 {
30   EncodedImageBuffer::RawBufferType buffer;
31   buffer.PushBack(0x11);
32   buffer.PushBack(0x22);
33   buffer.PushBack(0x33);
34   return buffer;
35 }
36
37 } // anonymous namespace
38
39 void dali_encoded_image_buffer_startup(void)
40 {
41   test_return_value = TET_UNDEF;
42 }
43
44 void dali_encoded_image_buffer_cleanup(void)
45 {
46   test_return_value = TET_PASS;
47 }
48
49 int UtcDaliEncodedImageBufferNew(void)
50 {
51   // invoke default handle constructor
52   EncodedImageBuffer buffer;
53
54   DALI_TEST_CHECK(!buffer);
55
56   // initialise handle
57   buffer = EncodedImageBuffer::New(tinybuffer());
58
59   DALI_TEST_CHECK(buffer);
60   END_TEST;
61 }
62
63 int UtcDaliEncodedImageBufferCopyConstructor(void)
64 {
65   EncodedImageBuffer buffer = EncodedImageBuffer::New(tinybuffer());
66   EncodedImageBuffer bufferCopy(buffer);
67
68   DALI_TEST_EQUALS( (bool)bufferCopy, true, TEST_LOCATION );
69   END_TEST;
70 }
71
72 int UtcDaliEncodedImageBufferAssignmentOperator(void)
73 {
74   EncodedImageBuffer buffer = EncodedImageBuffer::New(tinybuffer());
75
76   EncodedImageBuffer buffer2;
77   DALI_TEST_EQUALS( (bool)buffer2, false, TEST_LOCATION );
78
79   buffer2 = buffer;
80   DALI_TEST_EQUALS( (bool)buffer2, true, TEST_LOCATION );
81
82   END_TEST;
83 }
84
85 int UtcDaliEncodedImageBufferGetRawBuffer(void)
86 {
87   EncodedImageBuffer::RawBufferType originBuffer = tinybuffer();
88
89   EncodedImageBuffer buffer = EncodedImageBuffer::New(originBuffer);
90
91   EncodedImageBuffer::RawBufferType getBuffer = buffer.GetRawBuffer();
92
93   // compare value between originBuffer and getBuffer
94   DALI_TEST_EQUALS(originBuffer.Count(), getBuffer.Count(), TEST_LOCATION);
95
96   EncodedImageBuffer::RawBufferType::Iterator iter = originBuffer.Begin();
97   EncodedImageBuffer::RawBufferType::Iterator jter = getBuffer.Begin();
98   for(; iter != originBuffer.End(); ++iter, ++jter)
99   {
100     DALI_TEST_EQUALS(*iter, *jter, TEST_LOCATION );
101   }
102
103   END_TEST;
104 }