X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-ScrollView.cpp;h=493a795888e52ae550775a875bef2cde341fe9dc;hp=662502ce49dca3b66aa9fa5653a861d603853956;hb=df92f45e89c92ca9b2286d51116ff7b69e75c569;hpb=6e824d3bfb11cab305d0d8375b202076d59222b0 diff --git a/automated-tests/src/dali-toolkit/utc-Dali-ScrollView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-ScrollView.cpp index 662502c..493a795 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-ScrollView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-ScrollView.cpp @@ -67,6 +67,8 @@ const float TEST_RATIO_TOLERANCE = 0.05; ///< +/-5% toler const int MAX_FRAMES_TO_TEST_OVERSHOOT = 600; ///< 10 seconds (at 60 frames per second). const Vector3 OVERSHOOT_START_SCROLL_POSITION(100.0f, 100.0f, 0.0f); ///< Scroll start position for the Overshoot tests. +const float SCROLL_ANIMATION_DURATION(0.33f); ///< Duration of scroll animation in Overshoot tests (i.e. 100 pixels of overshoot in the speed of 500 pixels per 100 frames, 100/(500/(60/100)) = 0.33) +const Vector3 SNAP_POSITION_WITH_DECELERATED_VELOCITY(74.0f, 74.0f, 0.0f); ///< the snap position for Overshoot tests with the decelerated velocity (i.e. Decelerated from 500 pixels per 100 frames). const float TEST_CUSTOM1_SNAP_OVERSHOOT_DURATION = 0.05f; ///< a Test duration const float TEST_CUSTOM2_SNAP_OVERSHOOT_DURATION = 1.5f; ///< another Test duration const float TEST_CUSTOM3_SNAP_OVERSHOOT_DURATION = TEST_CUSTOM2_SNAP_OVERSHOOT_DURATION * 0.5f; // Same as above, but different alpha function. @@ -207,25 +209,13 @@ struct TestSumConstraint /** * @param[in] current The current base value - * @param[in] property The property to be added to current. + * @param[in] inputs Contains the property to be added to current. * @return The new current Vector. */ - Vector3 operator()(const Vector3& current) + void operator()( Vector3& current, const PropertyInputContainer& inputs ) { - gConstraintResult = current + mOffset; - return gConstraintResult; - } - - /** - * @param[in] current The current base value - * @param[in] property The property to be added to current. - * @return The new current Vector. - */ - Vector3 operator()(const Vector3& current, - const PropertyInput& property) - { - gConstraintResult = current + property.GetVector3() + mOffset; - return gConstraintResult; + gConstraintResult = current + inputs[0]->GetVector3() + mOffset; + current = gConstraintResult; } Vector3 mOffset; @@ -814,9 +804,8 @@ int UtcDaliScrollViewConstraints(void) a.SetPosition( TEST_ACTOR_POSITION ); Wait(application); - Constraint constraint = Constraint::New( Actor::Property::POSITION, - Source(scrollView, ScrollView::Property::SCROLL_POSITION), - TestSumConstraint( TEST_CONSTRAINT_OFFSET ) ); + Constraint constraint = Constraint::New( scrollView, Actor::Property::POSITION, TestSumConstraint( TEST_CONSTRAINT_OFFSET ) ); + constraint.AddSource( Source(scrollView, ScrollView::Property::SCROLL_POSITION) ); constraint.SetRemoveAction(Constraint::Discard); scrollView.ApplyConstraintToChildren(constraint); Wait(application); @@ -862,10 +851,8 @@ int UtcDaliScrollViewBind(void) Wait(application); // apply this constraint to scrollview - Constraint constraint = Constraint::New( Actor::Property::POSITION, - Source(scrollView, ScrollView::Property::SCROLL_POSITION), - TestSumConstraint( TEST_CONSTRAINT_OFFSET ) ); - + Constraint constraint = Constraint::New( scrollView, Actor::Property::POSITION, TestSumConstraint( TEST_CONSTRAINT_OFFSET ) ); + constraint.AddSource( Source(scrollView, ScrollView::Property::SCROLL_POSITION) ); constraint.SetRemoveAction(Constraint::Discard); scrollView.ApplyConstraintToChildren(constraint); @@ -1042,8 +1029,11 @@ int UtcDaliScrollViewOvershoot(void) SendPan(application, Gesture::Finished, currentPos); timeToReachOrigin = TestOvershootSnapDuration(application, scrollView); - DALI_TEST_CHECK( (timeToReachOrigin > Toolkit::ScrollView::DEFAULT_SNAP_OVERSHOOT_DURATION - TIME_TOLERANCE) && - (timeToReachOrigin < Toolkit::ScrollView::DEFAULT_SNAP_OVERSHOOT_DURATION + TIME_TOLERANCE) ); + float minTimeToReachOrigin = SCROLL_ANIMATION_DURATION + Toolkit::ScrollView::DEFAULT_SNAP_OVERSHOOT_DURATION * (SNAP_POSITION_WITH_DECELERATED_VELOCITY.x / Toolkit::ScrollView::DEFAULT_MAX_OVERSHOOT) - TIME_TOLERANCE; + float maxTimeToReachOrigin = SCROLL_ANIMATION_DURATION + Toolkit::ScrollView::DEFAULT_SNAP_OVERSHOOT_DURATION * (SNAP_POSITION_WITH_DECELERATED_VELOCITY.x / Toolkit::ScrollView::DEFAULT_MAX_OVERSHOOT) + TIME_TOLERANCE; + + DALI_TEST_CHECK( (timeToReachOrigin > minTimeToReachOrigin) && + (timeToReachOrigin < maxTimeToReachOrigin) ); // 2. Repeat Scroll, but this time change overshoot snap duration to shorter time scrollView.SetSnapOvershootDuration(TEST_CUSTOM1_SNAP_OVERSHOOT_DURATION); @@ -1053,8 +1043,11 @@ int UtcDaliScrollViewOvershoot(void) SendPan(application, Gesture::Finished, currentPos); timeToReachOrigin = TestOvershootSnapDuration(application, scrollView); - DALI_TEST_CHECK( (timeToReachOrigin > TEST_CUSTOM1_SNAP_OVERSHOOT_DURATION - TIME_TOLERANCE) && - (timeToReachOrigin < TEST_CUSTOM1_SNAP_OVERSHOOT_DURATION + TIME_TOLERANCE) ); + minTimeToReachOrigin = SCROLL_ANIMATION_DURATION + TEST_CUSTOM1_SNAP_OVERSHOOT_DURATION * (SNAP_POSITION_WITH_DECELERATED_VELOCITY.x / Toolkit::ScrollView::DEFAULT_MAX_OVERSHOOT) - TIME_TOLERANCE; + maxTimeToReachOrigin = SCROLL_ANIMATION_DURATION + TEST_CUSTOM1_SNAP_OVERSHOOT_DURATION * (SNAP_POSITION_WITH_DECELERATED_VELOCITY.x / Toolkit::ScrollView::DEFAULT_MAX_OVERSHOOT) + TIME_TOLERANCE; + + DALI_TEST_CHECK( (timeToReachOrigin > minTimeToReachOrigin) && + (timeToReachOrigin < maxTimeToReachOrigin) ); // 3. Repeat Scroll, but this time change overshoot snap duration to longer time. scrollView.SetSnapOvershootDuration(TEST_CUSTOM2_SNAP_OVERSHOOT_DURATION); @@ -1064,8 +1057,11 @@ int UtcDaliScrollViewOvershoot(void) SendPan(application, Gesture::Finished, currentPos); timeToReachOrigin = TestOvershootSnapDuration(application, scrollView); - DALI_TEST_CHECK( (timeToReachOrigin > TEST_CUSTOM2_SNAP_OVERSHOOT_DURATION - TIME_TOLERANCE) && - (timeToReachOrigin < TEST_CUSTOM2_SNAP_OVERSHOOT_DURATION + TIME_TOLERANCE) ); + minTimeToReachOrigin = SCROLL_ANIMATION_DURATION + TEST_CUSTOM2_SNAP_OVERSHOOT_DURATION * (SNAP_POSITION_WITH_DECELERATED_VELOCITY.x / Toolkit::ScrollView::DEFAULT_MAX_OVERSHOOT) - TIME_TOLERANCE; + maxTimeToReachOrigin = SCROLL_ANIMATION_DURATION + TEST_CUSTOM2_SNAP_OVERSHOOT_DURATION * (SNAP_POSITION_WITH_DECELERATED_VELOCITY.x / Toolkit::ScrollView::DEFAULT_MAX_OVERSHOOT) + TIME_TOLERANCE; + + DALI_TEST_CHECK( (timeToReachOrigin > minTimeToReachOrigin) && + (timeToReachOrigin < maxTimeToReachOrigin) ); // 4. Repeat Scroll, but this time change overshoot function. scrollView.SetSnapOvershootDuration(TEST_CUSTOM3_SNAP_OVERSHOOT_DURATION); @@ -1076,8 +1072,11 @@ int UtcDaliScrollViewOvershoot(void) SendPan(application, Gesture::Finished, currentPos); timeToReachOrigin = TestOvershootSnapDuration(application, scrollView); - DALI_TEST_CHECK( (timeToReachOrigin > TEST_CUSTOM3_SNAP_OVERSHOOT_DURATION - TIME_TOLERANCE) && - (timeToReachOrigin < TEST_CUSTOM3_SNAP_OVERSHOOT_DURATION + TIME_TOLERANCE) ); + minTimeToReachOrigin = SCROLL_ANIMATION_DURATION + TEST_CUSTOM3_SNAP_OVERSHOOT_DURATION * (SNAP_POSITION_WITH_DECELERATED_VELOCITY.x / Toolkit::ScrollView::DEFAULT_MAX_OVERSHOOT) - TIME_TOLERANCE; + maxTimeToReachOrigin = SCROLL_ANIMATION_DURATION + TEST_CUSTOM3_SNAP_OVERSHOOT_DURATION * (SNAP_POSITION_WITH_DECELERATED_VELOCITY.x / Toolkit::ScrollView::DEFAULT_MAX_OVERSHOOT) + TIME_TOLERANCE; + + DALI_TEST_CHECK( (timeToReachOrigin > minTimeToReachOrigin) && + (timeToReachOrigin < maxTimeToReachOrigin) ); END_TEST; } @@ -1088,15 +1087,14 @@ int UtcDaliScrollViewSnapAlphaFunction(void) // Set up a scrollView... ScrollView scrollView = ScrollView::New(); - scrollView.SetScrollSnapAlphaFunction( AlphaFunctions::EaseIn ); - DALI_TEST_CHECK( scrollView.GetScrollSnapAlphaFunction() == AlphaFunctions::EaseIn ); - scrollView.SetScrollSnapAlphaFunction( AlphaFunctions::EaseOut ); - DALI_TEST_CHECK( scrollView.GetScrollSnapAlphaFunction() == AlphaFunctions::EaseOut ); - - scrollView.SetScrollFlickAlphaFunction( AlphaFunctions::Bounce ); - DALI_TEST_CHECK( scrollView.GetScrollFlickAlphaFunction() == AlphaFunctions::Bounce ); - scrollView.SetScrollFlickAlphaFunction( AlphaFunctions::BounceBack ); - DALI_TEST_CHECK( scrollView.GetScrollFlickAlphaFunction() == AlphaFunctions::BounceBack ); + scrollView.SetScrollSnapAlphaFunction( AlphaFunction::EASE_IN ); + DALI_TEST_CHECK( scrollView.GetScrollSnapAlphaFunction().GetBuiltinFunction() == AlphaFunction::EASE_IN ); + scrollView.SetScrollSnapAlphaFunction( AlphaFunction::EASE_OUT ); + DALI_TEST_CHECK( scrollView.GetScrollSnapAlphaFunction().GetBuiltinFunction() == AlphaFunction::EASE_OUT ); + + scrollView.SetScrollFlickAlphaFunction( AlphaFunction::BOUNCE ); + DALI_TEST_CHECK( scrollView.GetScrollFlickAlphaFunction().GetBuiltinFunction() == AlphaFunction::BOUNCE ); + END_TEST; }