FrameBuffer::Format changed to bit-mask Attachment: Core
[platform/core/uifw/dali-core.git] / automated-tests / src / dali / utc-Dali-PropertyArray.cpp
1 /*
2  * Copyright (c) 2014 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 <iostream>
19
20 #include <stdlib.h>
21 #include <string>
22 #include <dali/public-api/dali-core.h>
23 #include <dali-test-suite-utils.h>
24
25 using namespace Dali;
26
27 void utc_dali_property_array_startup(void)
28 {
29   test_return_value = TET_UNDEF;
30 }
31
32 void utc_dali_property_array_cleanup(void)
33 {
34   test_return_value = TET_PASS;
35 }
36
37 int UtcDaliPropertyArrayPushBackP(void)
38 {
39   Property::Array array;
40
41   DALI_TEST_CHECK( 0 == array.Size() );
42
43   array.PushBack( 1 );
44
45   DALI_TEST_CHECK( 1 == array.Size() );
46
47   DALI_TEST_CHECK( array[0].Get<int>() == 1 );
48
49   END_TEST;
50 }
51
52 int UtcDaliPropertyArrayCapacityP(void)
53 {
54   Property::Array array;
55   DALI_TEST_CHECK( array.Empty() );
56
57   array.Reserve(3);
58
59   DALI_TEST_CHECK( 3 == array.Capacity() );
60   END_TEST;
61 }
62
63 int UtcDaliPropertyArrayReserveP(void)
64 {
65   Property::Array array;
66   DALI_TEST_CHECK( array.Empty() );
67
68   array.Reserve(3);
69
70   DALI_TEST_CHECK( 3 == array.Capacity() );
71   DALI_TEST_CHECK( 0 == array.Size() );
72
73   array.PushBack( 1 );
74   array.PushBack( "world" );
75   array.PushBack( 3 );
76   END_TEST;
77 }
78
79 int UtcDaliPropertyArraySizeP(void)
80 {
81   Property::Array array;
82   DALI_TEST_CHECK( 0 == array.Capacity() );
83   DALI_TEST_CHECK( 0 == array.Size() );
84
85   array.Reserve(3);
86
87   DALI_TEST_CHECK( 3 == array.Capacity() );
88   DALI_TEST_CHECK( 0 == array.Size() );
89
90   array.PushBack( 1 );
91   array.PushBack( "world" );
92   array.PushBack( 3 );
93
94   DALI_TEST_CHECK( 3 == array.Size() );
95
96   END_TEST;
97 }
98
99 int UtcDaliPropertyArrayCountP(void)
100 {
101   Property::Array array;
102   DALI_TEST_CHECK( 0 == array.Capacity() );
103   DALI_TEST_CHECK( 0 == array.Count() );
104
105   array.Reserve(3);
106
107   DALI_TEST_CHECK( 3 == array.Capacity() );
108   DALI_TEST_CHECK( 0 == array.Count() );
109
110   array.PushBack( 1 );
111   array.PushBack( "world" );
112   array.PushBack( 3 );
113
114   DALI_TEST_CHECK( 3 == array.Count() );
115
116   END_TEST;
117 }
118
119 int UtcDaliPropertyArrayEmptyP(void)
120 {
121   Property::Array array;
122   DALI_TEST_CHECK( array.Empty() );
123
124   array.Reserve(3);
125
126   DALI_TEST_CHECK( array.Empty() );
127
128   array.PushBack( 1 );
129   array.PushBack( "world" );
130   array.PushBack( 3 );
131
132   DALI_TEST_CHECK( !array.Empty() );
133
134   END_TEST;
135 }
136
137 int UtcDaliPropertyArrayClearP(void)
138 {
139   Property::Array array;
140   DALI_TEST_CHECK( array.Empty() );
141
142   array.Reserve(3);
143
144   DALI_TEST_CHECK( array.Empty() );
145
146   array.PushBack( 1 );
147   array.PushBack( "world" );
148   array.PushBack( 3 );
149
150   DALI_TEST_CHECK( !array.Empty() );
151
152   array.Clear();
153
154   DALI_TEST_CHECK( array.Empty() );
155
156   END_TEST;
157 }
158
159 int UtcDaliPropertyArrayIndexOperatorP(void)
160 {
161   Property::Array array;
162
163   array.Reserve(3);
164   array.PushBack( 1 );
165   array.PushBack( "world" );
166   array.PushBack( 3 );
167
168   DALI_TEST_CHECK( array[0].Get<int>() == 1 );
169   DALI_TEST_CHECK( array[1].Get<std::string>() == "world" );
170   DALI_TEST_CHECK( array[2].Get<int>() == 3 );
171
172   END_TEST;
173 }
174
175 int UtcDaliPropertyArrayConstIndexOperatorP(void)
176 {
177   Property::Array anArray;
178
179   anArray.Reserve(3);
180   anArray.PushBack( 1 );
181   anArray.PushBack( "world" );
182   anArray.PushBack( 3 );
183
184   const Property::Array array(anArray);
185
186   DALI_TEST_CHECK( array[0].Get<int>() == 1 );
187   DALI_TEST_CHECK( array[1].Get<std::string>() == "world" );
188   DALI_TEST_CHECK( array[2].Get<int>() == 3 );
189
190   END_TEST;
191 }
192
193 int UtcDaliPropertyArrayAssignmentOperatorP(void)
194 {
195   Property::Array anArray;
196
197   anArray.Reserve(3);
198   anArray.PushBack( 1 );
199   anArray.PushBack( "world" );
200   anArray.PushBack( 3 );
201
202   Property::Array array = anArray;
203
204   DALI_TEST_CHECK( array[0].Get<int>() == 1 );
205   DALI_TEST_CHECK( array[1].Get<std::string>() == "world" );
206   DALI_TEST_CHECK( array[2].Get<int>() == 3 );
207
208   END_TEST;
209 }
210
211 int UtcDaliPropertyArrayResize(void)
212 {
213   Property::Array array;
214
215   array.Resize(3);
216   DALI_TEST_CHECK( array.Count() == 3 );
217
218   array.Resize(5);
219   DALI_TEST_CHECK( array.Count() == 5 );
220
221   END_TEST;
222 }
223
224 int UtcDaliPropertyArrayOstream01(void)
225 {
226   std::ostringstream oss;
227
228   Property::Array array;
229   array.PushBack( 0 );
230   array.PushBack( 1 );
231   array.PushBack( 2 );
232
233   oss << array;
234   DALI_TEST_EQUALS( oss.str().compare("Array(3) = [0, 1, 2]"), 0, TEST_LOCATION );
235
236   END_TEST;
237 }
238
239 int UtcDaliPropertyArrayOstream02(void)
240 {
241   std::ostringstream oss;
242
243   Property::Array array1;
244   array1.PushBack( 0 );
245   array1.PushBack( 1 );
246   array1.PushBack( 2 );
247
248   Property::Array array2;
249   array2.PushBack(array1);
250   array2.PushBack( 1 );
251   array2.PushBack( 2 );
252
253   oss << array2;
254   DALI_TEST_EQUALS( oss.str().compare("Array(3) = [Array(3) = [0, 1, 2], 1, 2]"), 0, TEST_LOCATION );
255
256   END_TEST;
257 }