b33f84e99efc87a3aa42d80666dfc33d2e6d3b66
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit-internal / utc-Dali-Accessibility-Value.cpp
1 /**
2  * Copyright (c) 2017 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 // Need to override adaptor classes for toolkit test harness, so include
19 // test harness headers before dali headers.
20 #include <dali-toolkit-test-suite-utils.h>
21
22 #include <dali.h>
23 #include <dali/devel-api/common/stage.h>
24 #include <dali-toolkit/dali-toolkit.h>
25
26 #include <dali/devel-api/adaptor-framework/accessibility.h>
27 #include <dali/devel-api/adaptor-framework/accessibility-impl.h>
28
29 #include <dali-toolkit/devel-api/controls/scroll-bar/scroll-bar.h>
30
31 #include <automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/dbus-wrapper.h>
32
33 using namespace Dali::Accessibility;
34
35 void utc_dali_toolkit_accessibility_value_startup(void)
36 {
37   test_return_value = TET_UNDEF;
38   DBusWrapper::Install(std::unique_ptr<DBusWrapper>(new TestDBusWrapper));
39 }
40
41 void utc_dali_toolkit_accessibility_value_cleanup(void)
42 {
43   test_return_value = TET_PASS;
44 }
45
46 int utcDaliAccessibilityProgressBarGetMinimum(void)
47 {
48   ToolkitTestApplication application;
49
50   Toolkit::ProgressBar progress_bar = Toolkit::ProgressBar::New();
51   auto q = Dali::Accessibility::Accessible::Get( progress_bar );
52   auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
53   DALI_TEST_CHECK( x );
54   DALI_TEST_EQUALS( x->GetMinimum(), 0.0, TEST_LOCATION );
55
56   END_TEST;
57 }
58
59 int utcDaliAccessibilityProgressBarGetMaximum(void)
60 {
61   ToolkitTestApplication application;
62
63   Toolkit::ProgressBar progress_bar = Toolkit::ProgressBar::New();
64   auto q = Dali::Accessibility::Accessible::Get( progress_bar );
65   auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
66   DALI_TEST_CHECK( x );
67   DALI_TEST_EQUALS( x->GetMaximum(), 1.0, TEST_LOCATION );
68
69   END_TEST;
70 }
71
72 int utcDaliAccessibilityProgressBarGetMinimumIncrement(void)
73 {
74   ToolkitTestApplication application;
75
76   Toolkit::ProgressBar progress_bar = Toolkit::ProgressBar::New();
77   auto q = Dali::Accessibility::Accessible::Get(progress_bar);
78   auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
79   DALI_TEST_CHECK( x );
80   DALI_TEST_EQUALS( x->GetMinimumIncrement(), 0.0, TEST_LOCATION );
81
82   END_TEST;
83 }
84
85 int utcDaliAccessibilityProgressBarGetSetCurrent(void)
86 {
87   ToolkitTestApplication application;
88
89   Toolkit::ProgressBar progress_bar = Toolkit::ProgressBar::New();
90   auto q = Dali::Accessibility::Accessible::Get(progress_bar);
91   auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
92   DALI_TEST_CHECK( x );
93   DALI_TEST_EQUALS( x->GetCurrent(), 0.0, TEST_LOCATION );
94   DALI_TEST_EQUALS( x->SetCurrent( 2.0 ), false, TEST_LOCATION );
95   DALI_TEST_EQUALS( x->SetCurrent( 0.25 ), true, TEST_LOCATION );
96   DALI_TEST_EQUALS( x->GetCurrent(), 0.25, TEST_LOCATION );
97
98   END_TEST;
99 }
100
101 int utcDaliAccessibilityScrollBarGetMinimum(void)
102 {
103   ToolkitTestApplication application;
104
105   // Create a source actor that owns the scroll properties required by the scroll bar
106   Actor sourceActor = Actor::New();
107   Stage::GetCurrent().Add( sourceActor );
108
109   // Register the scroll properties
110   Property::Index propertyScrollPosition = sourceActor.RegisterProperty( "sourcePosition",  0.0f );
111   Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty( "sourcePositionMin",   10.0f );
112   Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty( "sourcePositionMax",   100.0f );
113   Property::Index propertyScrollContentSize = sourceActor.RegisterProperty( "sourceContentSize",   500.0f );
114
115   Toolkit::ScrollBar scroll_bar = Toolkit::ScrollBar::New();
116
117   scroll_bar.SetScrollPropertySource(sourceActor, propertyScrollPosition, propertyMinScrollPosition, propertyMaxScrollPosition, propertyScrollContentSize);
118
119   auto q = Dali::Accessibility::Accessible::Get(scroll_bar);
120   auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
121   DALI_TEST_CHECK( x );
122   DALI_TEST_EQUALS( x->GetMinimum(), 10.0, TEST_LOCATION );
123
124   END_TEST;
125 }
126
127 int utcDaliAccessibilityScrollBarGetMaximum(void)
128 {
129   ToolkitTestApplication application;
130
131   // Create a source actor that owns the scroll properties required by the scroll bar
132   Actor sourceActor = Actor::New();
133   Stage::GetCurrent().Add( sourceActor );
134
135   // Register the scroll properties
136   Property::Index propertyScrollPosition = sourceActor.RegisterProperty( "sourcePosition",  0.0f );
137   Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty( "sourcePositionMin",   0.0f );
138   Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty( "sourcePositionMax",   100.0f );
139   Property::Index propertyScrollContentSize = sourceActor.RegisterProperty( "sourceContentSize",   500.0f );
140
141   Toolkit::ScrollBar scroll_bar = Toolkit::ScrollBar::New();
142
143   scroll_bar.SetScrollPropertySource(sourceActor, propertyScrollPosition, propertyMinScrollPosition, propertyMaxScrollPosition, propertyScrollContentSize);
144
145   auto q = Dali::Accessibility::Accessible::Get(scroll_bar);
146   auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
147   DALI_TEST_CHECK( x );
148   DALI_TEST_EQUALS( x->GetMaximum(), 100.0, TEST_LOCATION );
149
150   END_TEST;
151 }
152
153 int utcDaliAccessibilityScrollBarGetMinimumIncrement(void)
154 {
155   ToolkitTestApplication application;
156
157   Toolkit::ScrollBar scroll_bar = Toolkit::ScrollBar::New();
158   auto q = Dali::Accessibility::Accessible::Get(scroll_bar);
159   auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
160   DALI_TEST_CHECK( x );
161   DALI_TEST_EQUALS( x->GetMinimumIncrement(), 1.0, TEST_LOCATION );
162
163   END_TEST;
164 }
165
166 int utcDaliAccessibilityScrollBarGetSetCurrent(void)
167 {
168   ToolkitTestApplication application;
169
170   // Create a source actor that owns the scroll properties required by the scroll bar
171   Actor sourceActor = Actor::New();
172   Stage::GetCurrent().Add( sourceActor );
173
174   // Register the scroll properties
175   Property::Index propertyScrollPosition = sourceActor.RegisterProperty( "sourcePosition",  0.0f );
176   Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty( "sourcePositionMin",   0.0f );
177   Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty( "sourcePositionMax",   100.0f );
178   Property::Index propertyScrollContentSize = sourceActor.RegisterProperty( "sourceContentSize",   500.0f );
179
180   Toolkit::ScrollBar scroll_bar = Toolkit::ScrollBar::New();
181
182   scroll_bar.SetScrollPropertySource(sourceActor, propertyScrollPosition, propertyMinScrollPosition, propertyMaxScrollPosition, propertyScrollContentSize);
183
184   //sourceActor.SetProperty(propertyScrollPosition, 20.0f);
185
186   auto q = Dali::Accessibility::Accessible::Get(scroll_bar);
187   auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
188   DALI_TEST_CHECK( x );
189   DALI_TEST_EQUALS( x->GetCurrent(), 0.0, TEST_LOCATION );
190   DALI_TEST_EQUALS( x->SetCurrent( 1000.0 ), false, TEST_LOCATION );
191   DALI_TEST_EQUALS( x->SetCurrent( 50.0 ), false, TEST_LOCATION );
192   DALI_TEST_EQUALS( x->GetCurrent(), 0.0, TEST_LOCATION );
193
194   END_TEST;
195 }
196
197 int utcDaliAccessibilitySliderGetMinimum(void)
198 {
199   ToolkitTestApplication application;
200
201   Toolkit::Slider slider = Toolkit::Slider::New();
202   auto q = Dali::Accessibility::Accessible::Get(slider);
203   auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
204   DALI_TEST_CHECK( x );
205   DALI_TEST_EQUALS( x->GetMinimum(), 0.0, TEST_LOCATION );
206
207   END_TEST;
208 }
209
210 int utcDaliAccessibilitySliderGetMaximum(void)
211 {
212   ToolkitTestApplication application;
213
214   Toolkit::Slider slider = Toolkit::Slider::New();
215   auto q = Dali::Accessibility::Accessible::Get(slider);
216   auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
217   DALI_TEST_CHECK( x );
218   DALI_TEST_EQUALS( x->GetMaximum(), 1.0, TEST_LOCATION );
219
220   END_TEST;
221 }
222
223 int utcDaliAccessibilitySliderGetMinimumIncrement(void)
224 {
225   ToolkitTestApplication application;
226
227   Toolkit::Slider slider = Toolkit::Slider::New();
228   auto q = Dali::Accessibility::Accessible::Get(slider);
229   auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
230   DALI_TEST_CHECK( x );
231   DALI_TEST_EQUALS<float>( x->GetMinimumIncrement(), 0.0, TEST_LOCATION );
232
233   END_TEST;
234 }
235
236 int utcDaliAccessibilitySliderGetSetCurrent(void)
237 {
238   ToolkitTestApplication application;
239
240   Toolkit::Slider slider = Toolkit::Slider::New();
241   auto q = Dali::Accessibility::Accessible::Get(slider);
242   auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
243   DALI_TEST_CHECK( x );
244   DALI_TEST_EQUALS( x->GetCurrent(), 0.0, TEST_LOCATION );
245   DALI_TEST_EQUALS( x->SetCurrent( 2.0 ), false, TEST_LOCATION );
246   DALI_TEST_EQUALS( x->SetCurrent( 0.25 ), true, TEST_LOCATION );
247   DALI_TEST_EQUALS( x->GetCurrent(), 0.25, TEST_LOCATION );
248
249   END_TEST;
250 }