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.
21 #include <dali/public-api/dali-core.h>
22 #include <dali-test-suite-utils.h>
23 #include <dali/internal/event/events/pinch-gesture/pinch-gesture-impl.h>
27 void utc_dali_internal_pinch_gesture_startup(void)
29 test_return_value = TET_UNDEF;
32 void utc_dali_internal_pinch_gesture_cleanup(void)
34 test_return_value = TET_PASS;
37 // Positive test case for a method
38 int UtcDaliPinchGestureConstructor(void)
40 TestApplication application; // Reset all test adapter return codes
42 PinchGesture gesture(new Internal::PinchGesture( Gesture::Started ));
43 DALI_TEST_EQUALS(Gesture::Started, gesture.GetState(), TEST_LOCATION);
44 DALI_TEST_EQUALS(0.0f, gesture.GetScale(), TEST_LOCATION);
45 DALI_TEST_EQUALS(0.0f, gesture.GetSpeed(), TEST_LOCATION);
46 DALI_TEST_EQUALS(Gesture::Pinch, gesture.GetType(), TEST_LOCATION);
48 PinchGesture gesture2(new Internal::PinchGesture( Gesture::Continuing ));
49 DALI_TEST_EQUALS(Gesture::Continuing, gesture2.GetState(), TEST_LOCATION);
50 DALI_TEST_EQUALS(0.0f, gesture2.GetScale(), TEST_LOCATION);
51 DALI_TEST_EQUALS(0.0f, gesture2.GetSpeed(), TEST_LOCATION);
52 DALI_TEST_EQUALS(Gesture::Pinch, gesture2.GetType(), TEST_LOCATION);
54 PinchGesture gesture3(new Internal::PinchGesture( Gesture::Finished ));
55 DALI_TEST_EQUALS(Gesture::Finished, gesture3.GetState(), TEST_LOCATION);
56 DALI_TEST_EQUALS(0.0f, gesture3.GetScale(), TEST_LOCATION);
57 DALI_TEST_EQUALS(0.0f, gesture3.GetSpeed(), TEST_LOCATION);
58 DALI_TEST_EQUALS(Gesture::Pinch, gesture3.GetType(), TEST_LOCATION);
60 // Test copy constructor
61 GetImplementation( gesture3 ).SetScale( 3.0f );
62 GetImplementation( gesture3 ).SetSpeed( 5.0f );
64 PinchGesture pinch(gesture3);
65 DALI_TEST_EQUALS(Gesture::Finished, pinch.GetState(), TEST_LOCATION);
66 DALI_TEST_EQUALS(3.0f, pinch.GetScale(), TEST_LOCATION);
67 DALI_TEST_EQUALS(5.0f, pinch.GetSpeed(), TEST_LOCATION);
68 DALI_TEST_EQUALS(Gesture::Pinch, pinch.GetType(), TEST_LOCATION);
70 // Test move constructor
71 const auto refCount = gesture.GetObjectPtr()->ReferenceCount();
72 PinchGesture gesture4( std::move( gesture ) );
73 DALI_TEST_CHECK(!gesture);
74 DALI_TEST_EQUALS(Gesture::Pinch, gesture4.GetType(), TEST_LOCATION);
75 DALI_TEST_EQUALS(gesture4.GetBaseObject().ReferenceCount(), refCount, TEST_LOCATION);
80 int UtcDaliPinchGestureAssignment(void)
82 // Test Assignment operator
83 PinchGesture gesture(new Internal::PinchGesture( Gesture::Started ));
84 DALI_TEST_EQUALS(Gesture::Started, gesture.GetState(), TEST_LOCATION);
85 DALI_TEST_EQUALS(0.0f, gesture.GetScale(), TEST_LOCATION);
86 DALI_TEST_EQUALS(0.0f, gesture.GetSpeed(), TEST_LOCATION);
87 DALI_TEST_EQUALS(Gesture::Pinch, gesture.GetType(), TEST_LOCATION);
89 PinchGesture gesture2(new Internal::PinchGesture( Gesture::Continuing ));
90 DALI_TEST_EQUALS(Gesture::Continuing, gesture2.GetState(), TEST_LOCATION);
91 DALI_TEST_EQUALS(0.0f, gesture2.GetScale(), TEST_LOCATION);
92 DALI_TEST_EQUALS(0.0f, gesture2.GetSpeed(), TEST_LOCATION);
93 DALI_TEST_EQUALS(Gesture::Pinch, gesture2.GetType(), TEST_LOCATION);
95 GetImplementation( gesture2 ).SetScale( 3.0f );
96 GetImplementation( gesture2 ).SetSpeed( 5.0f );
99 DALI_TEST_EQUALS(Gesture::Continuing, gesture.GetState(), TEST_LOCATION);
100 DALI_TEST_EQUALS(3.0f, gesture.GetScale(), TEST_LOCATION);
101 DALI_TEST_EQUALS(5.0f, gesture.GetSpeed(), TEST_LOCATION);
102 DALI_TEST_EQUALS(Gesture::Pinch, gesture.GetType(), TEST_LOCATION);
105 const auto refCount = gesture.GetObjectPtr()->ReferenceCount();
106 PinchGesture gesture3;
107 DALI_TEST_EQUALS(gesture3, Gesture(), TEST_LOCATION);
108 gesture3 = std::move(gesture);
109 DALI_TEST_CHECK(!gesture);
110 DALI_TEST_EQUALS(Gesture::Pinch, gesture3.GetType(), TEST_LOCATION);
111 DALI_TEST_EQUALS(gesture3.GetBaseObject().ReferenceCount(), refCount, TEST_LOCATION);
116 int UtcDaliPinchGestureSetGetScaleP(void)
118 PinchGesture gesture(new Internal::PinchGesture(Gesture::Started));
119 DALI_TEST_EQUALS(gesture.GetScale(), 0.0f, TEST_LOCATION);
121 GetImplementation(gesture).SetScale(123.0f);
122 DALI_TEST_EQUALS(gesture.GetScale(), 123.0f, TEST_LOCATION);
127 int UtcDaliPinchGestureSetGetSpeedP(void)
129 PinchGesture gesture(new Internal::PinchGesture(Gesture::Started));
130 DALI_TEST_EQUALS(gesture.GetSpeed(), 0.0f, TEST_LOCATION);
132 GetImplementation(gesture).SetSpeed(123.0f);
133 DALI_TEST_EQUALS(gesture.GetSpeed(), 123.0f, TEST_LOCATION);
138 int UtcDaliPinchGestureSetGetScreenCenterPointP(void)
140 PinchGesture gesture(new Internal::PinchGesture(Gesture::Started));
141 DALI_TEST_EQUALS(gesture.GetScreenCenterPoint(), Vector2::ZERO, TEST_LOCATION);
143 GetImplementation(gesture).SetScreenCenterPoint(Vector2(123.0f, 321.0f));
144 DALI_TEST_EQUALS(gesture.GetScreenCenterPoint(), Vector2(123.0f,321.0f), TEST_LOCATION);
149 int UtcDaliPinchGestureSetGetLocalCenterPointP(void)
151 PinchGesture gesture(new Internal::PinchGesture(Gesture::Started));
152 DALI_TEST_EQUALS(gesture.GetLocalCenterPoint(), Vector2::ZERO, TEST_LOCATION);
154 GetImplementation(gesture).SetLocalCenterPoint(Vector2(123.0f,321.0f));
155 DALI_TEST_EQUALS(gesture.GetLocalCenterPoint(), Vector2(123.0f,321.0f), TEST_LOCATION);