2 * Copyright (c) 2016 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.
20 #include <dali-toolkit-test-suite-utils.h>
21 #include <dali-toolkit/dali-toolkit.h>
22 #include <dali-toolkit/devel-api/controls/flex-container/flex-container.h>
25 using namespace Toolkit;
27 void dali_flexflexContainer_startup(void)
29 test_return_value = TET_UNDEF;
32 void dali_flexflexContainer_cleanup(void)
34 test_return_value = TET_PASS;
40 const char* const PROPERTY_NAME_CONTENT_DIRECTION = "contentDirection";
41 const char* const PROPERTY_NAME_FLEX_DIRECTION = "flexDirection";
42 const char* const PROPERTY_NAME_FLEX_WRAP = "flexWrap";
43 const char* const PROPERTY_NAME_JUSTIFY_CONTENT = "justifyContent";
44 const char* const PROPERTY_NAME_ALIGN_ITEMS = "alignItems";
45 const char* const PROPERTY_NAME_ALIGN_CONTENT = "alignContent";
49 int UtcDaliToolkitFlexContainerConstructorP(void)
51 ToolkitTestApplication application;
52 tet_infoline(" UtcDaliToolkitFlexContainerConstructorP");
53 FlexContainer flexContainer;
54 DALI_TEST_CHECK( !flexContainer );
58 int UtcDaliToolkitFlexContainerNewP(void)
60 ToolkitTestApplication application;
61 tet_infoline(" UtcDaliToolkitFlexContainerNewP");
62 FlexContainer flexContainer = FlexContainer::New();
63 DALI_TEST_CHECK( flexContainer );
67 int UtcDaliToolkitFlexContainerDownCastP(void)
69 ToolkitTestApplication application;
70 tet_infoline(" UtcDaliToolkitFlexContainerDownCastP");
71 FlexContainer flexContainer1 = FlexContainer::New();
72 BaseHandle object( flexContainer1 );
74 FlexContainer flexContainer2 = FlexContainer::DownCast( object );
75 DALI_TEST_CHECK( flexContainer2 );
77 FlexContainer flexContainer3 = DownCast< FlexContainer >( object );
78 DALI_TEST_CHECK( flexContainer3 );
82 int UtcDaliToolkitFlexContainerDownCastN(void)
84 ToolkitTestApplication application;
85 tet_infoline(" UtcDaliToolkitFlexContainerDownCastN");
86 BaseHandle uninitializedObject;
87 FlexContainer flexContainer1 = FlexContainer::DownCast( uninitializedObject );
88 DALI_TEST_CHECK( !flexContainer1 );
90 FlexContainer flexContainer2 = DownCast< FlexContainer >( uninitializedObject );
91 DALI_TEST_CHECK( !flexContainer2 );
95 int UtcDaliToolkitFlexContainerCopyConstructorP(void)
97 ToolkitTestApplication application;
98 tet_infoline(" UtcDaliToolkitFlexContainerCopyConstructorP");
99 FlexContainer flexContainer = FlexContainer::New();
100 flexContainer.SetProperty( FlexContainer::Property::FLEX_DIRECTION, FlexContainer::ROW_REVERSE );
102 FlexContainer copy( flexContainer );
103 DALI_TEST_CHECK( copy );
104 DALI_TEST_CHECK( copy.GetProperty<int>( FlexContainer::Property::FLEX_DIRECTION ) == flexContainer.GetProperty<int>( FlexContainer::Property::FLEX_DIRECTION ) );
109 int UtcDaliToolkitFlexContainerAssignmentOperatorP(void)
111 ToolkitTestApplication application;
112 tet_infoline(" UtcDaliToolkitFlexContainerAssingmentOperatorP");
113 FlexContainer flexContainer = FlexContainer::New();
114 flexContainer.SetProperty( FlexContainer::Property::FLEX_DIRECTION, FlexContainer::ROW_REVERSE );
116 FlexContainer copy = flexContainer;
117 DALI_TEST_CHECK( copy );
118 DALI_TEST_CHECK( copy.GetProperty<int>( FlexContainer::Property::FLEX_DIRECTION ) == flexContainer.GetProperty<int>( FlexContainer::Property::FLEX_DIRECTION ) );
122 // Positive test case for a method
123 int UtcDaliToolkitFlexContainerGetPropertyP(void)
125 ToolkitTestApplication application;
126 tet_infoline(" UtcDaliToolkitFlexContainerGetPropertyP");
127 FlexContainer flexContainer = FlexContainer::New();
128 DALI_TEST_CHECK( flexContainer );
130 // Check Property Indices are correct
131 DALI_TEST_CHECK( flexContainer.GetPropertyIndex( PROPERTY_NAME_CONTENT_DIRECTION ) == FlexContainer::Property::CONTENT_DIRECTION );
132 DALI_TEST_CHECK( flexContainer.GetPropertyIndex( PROPERTY_NAME_FLEX_DIRECTION ) == FlexContainer::Property::FLEX_DIRECTION );
133 DALI_TEST_CHECK( flexContainer.GetPropertyIndex( PROPERTY_NAME_FLEX_WRAP ) == FlexContainer::Property::FLEX_WRAP );
134 DALI_TEST_CHECK( flexContainer.GetPropertyIndex( PROPERTY_NAME_JUSTIFY_CONTENT ) == FlexContainer::Property::JUSTIFY_CONTENT );
135 DALI_TEST_CHECK( flexContainer.GetPropertyIndex( PROPERTY_NAME_ALIGN_ITEMS ) == FlexContainer::Property::ALIGN_ITEMS );
136 DALI_TEST_CHECK( flexContainer.GetPropertyIndex( PROPERTY_NAME_ALIGN_CONTENT ) == FlexContainer::Property::ALIGN_CONTENT );
141 int UtcDaliToolkitFlexContainerSetPropertyP(void)
143 ToolkitTestApplication application;
144 tet_infoline(" UtcDaliToolkitFlexContainerSetPropertyP");
145 FlexContainer flexContainer = FlexContainer::New();
146 DALI_TEST_CHECK( flexContainer );
148 // Check content direction property.
149 flexContainer.SetProperty( FlexContainer::Property::CONTENT_DIRECTION, FlexContainer::RTL );
150 DALI_TEST_EQUALS( (FlexContainer::ContentDirection)flexContainer.GetProperty<int>( FlexContainer::Property::CONTENT_DIRECTION ), FlexContainer::RTL, TEST_LOCATION );
152 // Check flex direction property.
153 flexContainer.SetProperty( FlexContainer::Property::FLEX_DIRECTION, FlexContainer::COLUMN_REVERSE );
154 DALI_TEST_EQUALS( (FlexContainer::FlexDirection)flexContainer.GetProperty<int>( FlexContainer::Property::FLEX_DIRECTION ), FlexContainer::COLUMN_REVERSE, TEST_LOCATION );
156 // Check flex wrap property.
157 flexContainer.SetProperty( FlexContainer::Property::FLEX_WRAP, FlexContainer::WRAP );
158 DALI_TEST_EQUALS( (FlexContainer::WrapType)flexContainer.GetProperty<int>( FlexContainer::Property::FLEX_WRAP ), FlexContainer::WRAP, TEST_LOCATION );
160 // Check justify content property.
161 flexContainer.SetProperty( FlexContainer::Property::JUSTIFY_CONTENT, FlexContainer::JUSTIFY_SPACE_BETWEEN );
162 DALI_TEST_EQUALS( (FlexContainer::Justification)flexContainer.GetProperty<int>( FlexContainer::Property::JUSTIFY_CONTENT ), FlexContainer::JUSTIFY_SPACE_BETWEEN, TEST_LOCATION );
164 // Check align items property.
165 flexContainer.SetProperty( FlexContainer::Property::ALIGN_ITEMS, FlexContainer::ALIGN_FLEX_START );
166 DALI_TEST_EQUALS( (FlexContainer::Alignment)flexContainer.GetProperty<int>( FlexContainer::Property::ALIGN_ITEMS ), FlexContainer::ALIGN_FLEX_START, TEST_LOCATION );
168 // Check align content property.
169 flexContainer.SetProperty( FlexContainer::Property::ALIGN_CONTENT, FlexContainer::ALIGN_STRETCH );
170 DALI_TEST_EQUALS( (FlexContainer::Alignment)flexContainer.GetProperty<int>( FlexContainer::Property::ALIGN_CONTENT ), FlexContainer::ALIGN_STRETCH, TEST_LOCATION );