2 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
22 #include <dali/public-api/dali-core.h>
23 #include <dali-test-suite-utils.h>
27 void utc_dali_property_array_startup(void)
29 test_return_value = TET_UNDEF;
32 void utc_dali_property_array_cleanup(void)
34 test_return_value = TET_PASS;
37 int UtcDaliPropertyArrayPushBackP(void)
39 Property::Array array;
41 DALI_TEST_CHECK( 0 == array.Size() );
45 DALI_TEST_CHECK( 1 == array.Size() );
47 DALI_TEST_CHECK( array[0].Get<int>() == 1 );
52 int UtcDaliPropertyArrayAddP(void)
54 Property::Array array;
56 DALI_TEST_CHECK( 0 == array.Size() );
60 DALI_TEST_CHECK( 1 == array.Size() );
61 DALI_TEST_CHECK( array[0].Get<int>() == 1 );
67 DALI_TEST_EQUALS( 4u, array.Size(), TEST_LOCATION );
68 DALI_TEST_EQUALS( array[1].Get<int>(), 2, TEST_LOCATION );
69 DALI_TEST_EQUALS( array[2].Get<int>(), 3, TEST_LOCATION );
70 DALI_TEST_EQUALS( array[3].Get<float>(), 4.f, Math::MACHINE_EPSILON_1, TEST_LOCATION );
75 int UtcDaliPropertyArrayCapacityP(void)
77 Property::Array array;
78 DALI_TEST_CHECK( array.Empty() );
82 DALI_TEST_CHECK( 3 == array.Capacity() );
86 int UtcDaliPropertyArrayReserveP(void)
88 Property::Array array;
89 DALI_TEST_CHECK( array.Empty() );
93 DALI_TEST_CHECK( 3 == array.Capacity() );
94 DALI_TEST_CHECK( 0 == array.Size() );
97 array.PushBack( "world" );
102 int UtcDaliPropertyArraySizeP(void)
104 Property::Array array;
105 DALI_TEST_CHECK( 0 == array.Capacity() );
106 DALI_TEST_CHECK( 0 == array.Size() );
110 DALI_TEST_CHECK( 3 == array.Capacity() );
111 DALI_TEST_CHECK( 0 == array.Size() );
114 array.PushBack( "world" );
117 DALI_TEST_CHECK( 3 == array.Size() );
122 int UtcDaliPropertyArrayCountP(void)
124 Property::Array array;
125 DALI_TEST_CHECK( 0 == array.Capacity() );
126 DALI_TEST_CHECK( 0 == array.Count() );
130 DALI_TEST_CHECK( 3 == array.Capacity() );
131 DALI_TEST_CHECK( 0 == array.Count() );
134 array.PushBack( "world" );
137 DALI_TEST_CHECK( 3 == array.Count() );
142 int UtcDaliPropertyArrayEmptyP(void)
144 Property::Array array;
145 DALI_TEST_CHECK( array.Empty() );
149 DALI_TEST_CHECK( array.Empty() );
152 array.PushBack( "world" );
155 DALI_TEST_CHECK( !array.Empty() );
160 int UtcDaliPropertyArrayClearP(void)
162 Property::Array array;
163 DALI_TEST_CHECK( array.Empty() );
167 DALI_TEST_CHECK( array.Empty() );
170 array.PushBack( "world" );
173 DALI_TEST_CHECK( !array.Empty() );
177 DALI_TEST_CHECK( array.Empty() );
182 int UtcDaliPropertyArrayIndexOperatorP(void)
184 Property::Array array;
188 array.PushBack( "world" );
191 DALI_TEST_CHECK( array[0].Get<int>() == 1 );
192 DALI_TEST_CHECK( array[1].Get<std::string>() == "world" );
193 DALI_TEST_CHECK( array[2].Get<int>() == 3 );
198 int UtcDaliPropertyArrayConstIndexOperatorP(void)
200 Property::Array anArray;
203 anArray.PushBack( 1 );
204 anArray.PushBack( "world" );
205 anArray.PushBack( 3 );
207 const Property::Array array(anArray);
209 DALI_TEST_CHECK( array[0].Get<int>() == 1 );
210 DALI_TEST_CHECK( array[1].Get<std::string>() == "world" );
211 DALI_TEST_CHECK( array[2].Get<int>() == 3 );
216 int UtcDaliPropertyArrayAssignmentOperatorP(void)
218 Property::Array anArray;
221 anArray.PushBack( 1 );
222 anArray.PushBack( "world" );
223 anArray.PushBack( 3 );
225 Property::Array array = anArray;
227 DALI_TEST_CHECK( array[0].Get<int>() == 1 );
228 DALI_TEST_CHECK( array[1].Get<std::string>() == "world" );
229 DALI_TEST_CHECK( array[2].Get<int>() == 3 );
234 int UtcDaliPropertyArrayResize(void)
236 Property::Array array;
239 DALI_TEST_CHECK( array.Count() == 3 );
242 DALI_TEST_CHECK( array.Count() == 5 );
247 int UtcDaliPropertyArrayOstream01(void)
249 std::ostringstream oss;
251 Property::Array array;
257 DALI_TEST_EQUALS( oss.str().compare("Array(3) = [0, 1, 2]"), 0, TEST_LOCATION );
262 int UtcDaliPropertyArrayOstream02(void)
264 std::ostringstream oss;
266 Property::Array array1;
267 array1.PushBack( 0 );
268 array1.PushBack( 1 );
269 array1.PushBack( 2 );
271 Property::Array array2;
272 array2.PushBack(array1);
273 array2.PushBack( 1 );
274 array2.PushBack( 2 );
277 DALI_TEST_EQUALS( oss.str().compare("Array(3) = [Array(3) = [0, 1, 2], 1, 2]"), 0, TEST_LOCATION );