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 UtcDaliPropertyArrayCapacityP(void)
54 Property::Array array;
55 DALI_TEST_CHECK( array.Empty() );
59 DALI_TEST_CHECK( 3 == array.Capacity() );
63 int UtcDaliPropertyArrayReserveP(void)
65 Property::Array array;
66 DALI_TEST_CHECK( array.Empty() );
70 DALI_TEST_CHECK( 3 == array.Capacity() );
71 DALI_TEST_CHECK( 0 == array.Size() );
74 array.PushBack( "world" );
79 int UtcDaliPropertyArraySizeP(void)
81 Property::Array array;
82 DALI_TEST_CHECK( 0 == array.Capacity() );
83 DALI_TEST_CHECK( 0 == array.Size() );
87 DALI_TEST_CHECK( 3 == array.Capacity() );
88 DALI_TEST_CHECK( 0 == array.Size() );
91 array.PushBack( "world" );
94 DALI_TEST_CHECK( 3 == array.Size() );
99 int UtcDaliPropertyArrayCountP(void)
101 Property::Array array;
102 DALI_TEST_CHECK( 0 == array.Capacity() );
103 DALI_TEST_CHECK( 0 == array.Count() );
107 DALI_TEST_CHECK( 3 == array.Capacity() );
108 DALI_TEST_CHECK( 0 == array.Count() );
111 array.PushBack( "world" );
114 DALI_TEST_CHECK( 3 == array.Count() );
119 int UtcDaliPropertyArrayEmptyP(void)
121 Property::Array array;
122 DALI_TEST_CHECK( array.Empty() );
126 DALI_TEST_CHECK( array.Empty() );
129 array.PushBack( "world" );
132 DALI_TEST_CHECK( !array.Empty() );
137 int UtcDaliPropertyArrayClearP(void)
139 Property::Array array;
140 DALI_TEST_CHECK( array.Empty() );
144 DALI_TEST_CHECK( array.Empty() );
147 array.PushBack( "world" );
150 DALI_TEST_CHECK( !array.Empty() );
154 DALI_TEST_CHECK( array.Empty() );
159 int UtcDaliPropertyArrayIndexOperatorP(void)
161 Property::Array array;
165 array.PushBack( "world" );
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 );
175 int UtcDaliPropertyArrayConstIndexOperatorP(void)
177 Property::Array anArray;
180 anArray.PushBack( 1 );
181 anArray.PushBack( "world" );
182 anArray.PushBack( 3 );
184 const Property::Array array(anArray);
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 );
193 int UtcDaliPropertyArrayAssignmentOperatorP(void)
195 Property::Array anArray;
198 anArray.PushBack( 1 );
199 anArray.PushBack( "world" );
200 anArray.PushBack( 3 );
202 Property::Array array = anArray;
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 );
211 int UtcDaliPropertyArrayResize(void)
213 Property::Array array;
216 DALI_TEST_CHECK( array.Count() == 3 );
219 DALI_TEST_CHECK( array.Count() == 5 );
224 int UtcDaliPropertyArrayOstream01(void)
226 std::ostringstream oss;
228 Property::Array array;
234 DALI_TEST_EQUALS( oss.str().compare("Array(3) = [0, 1, 2]"), 0, TEST_LOCATION );
239 int UtcDaliPropertyArrayOstream02(void)
241 std::ostringstream oss;
243 Property::Array array1;
244 array1.PushBack( 0 );
245 array1.PushBack( 1 );
246 array1.PushBack( 2 );
248 Property::Array array2;
249 array2.PushBack(array1);
250 array2.PushBack( 1 );
251 array2.PushBack( 2 );
254 DALI_TEST_EQUALS( oss.str().compare("Array(3) = [Array(3) = [0, 1, 2], 1, 2]"), 0, TEST_LOCATION );