diff options
Diffstat (limited to 'test/style/paint_property.test.cpp')
-rw-r--r-- | test/style/paint_property.test.cpp | 76 |
1 files changed, 35 insertions, 41 deletions
diff --git a/test/style/paint_property.test.cpp b/test/style/paint_property.test.cpp index 487dbe9652..c70fa101ca 100644 --- a/test/style/paint_property.test.cpp +++ b/test/style/paint_property.test.cpp @@ -6,54 +6,59 @@ using namespace mbgl; using namespace mbgl::style; using namespace std::literals::chrono_literals; +float evaluate(UnevaluatedPaintProperty<PropertyValue<float>>& property, Duration delta = Duration::zero()) { + PropertyEvaluationParameters parameters { + 0, + TimePoint::min() + delta, + ZoomHistory(), + Duration::zero() + }; + + PropertyEvaluator<float> evaluator { + parameters, + 0.0f + }; + + return property.evaluate(evaluator, parameters.now); +} + TEST(UnevaluatedPaintProperty, EvaluateDefaultValue) { - UnevaluatedPaintProperty<float, PropertyEvaluator<float>> property; - ASSERT_EQ(0.0f, property.evaluate(PropertyEvaluationParameters(0), 0.0f)); + UnevaluatedPaintProperty<PropertyValue<float>> property; + ASSERT_EQ(0.0f, evaluate(property)); } TEST(UnevaluatedPaintProperty, EvaluateUntransitionedConstant) { - UnevaluatedPaintProperty<float, PropertyEvaluator<float>> property { + UnevaluatedPaintProperty<PropertyValue<float>> property { PropertyValue<float>(1.0f), - UnevaluatedPaintProperty<float, PropertyEvaluator<float>>(), + UnevaluatedPaintProperty<PropertyValue<float>>(), TransitionOptions(), TimePoint::min() }; - ASSERT_EQ(1.0f, property.evaluate(PropertyEvaluationParameters(0), 0.0f)); + ASSERT_EQ(1.0f, evaluate(property)); } TEST(UnevaluatedPaintProperty, EvaluateTransitionedConstantWithoutDelay) { TransitionOptions transition; transition.duration = { 1000ms }; - UnevaluatedPaintProperty<float, PropertyEvaluator<float>> t0 { + UnevaluatedPaintProperty<PropertyValue<float>> t0 { PropertyValue<float>(0.0f), - UnevaluatedPaintProperty<float, PropertyEvaluator<float>>(), + UnevaluatedPaintProperty<PropertyValue<float>>(), TransitionOptions(), TimePoint::min() }; - UnevaluatedPaintProperty<float, PropertyEvaluator<float>> t1 { + UnevaluatedPaintProperty<PropertyValue<float>> t1 { PropertyValue<float>(1.0f), t0, transition, TimePoint::min() }; - auto evaluate = [&] (Duration delta) { - PropertyEvaluationParameters parameters { - 0, - TimePoint::min() + delta, - ZoomHistory(), - Duration::zero() - }; - - return t1.evaluate(parameters, 0.0f); - }; - - ASSERT_FLOAT_EQ(0.0f, evaluate(0ms)); - ASSERT_FLOAT_EQ(0.823099f, evaluate(500ms)); - ASSERT_FLOAT_EQ(1.0f, evaluate(1500ms)); + ASSERT_FLOAT_EQ(0.0f, evaluate(t1, 0ms)); + ASSERT_FLOAT_EQ(0.823099f, evaluate(t1, 500ms)); + ASSERT_FLOAT_EQ(1.0f, evaluate(t1, 1500ms)); } TEST(UnevaluatedPaintProperty, EvaluateTransitionedConstantWithDelay) { @@ -61,34 +66,23 @@ TEST(UnevaluatedPaintProperty, EvaluateTransitionedConstantWithDelay) { transition.delay = { 1000ms }; transition.duration = { 1000ms }; - UnevaluatedPaintProperty<float, PropertyEvaluator<float>> t0 { + UnevaluatedPaintProperty<PropertyValue<float>> t0 { PropertyValue<float>(0.0f), - UnevaluatedPaintProperty<float, PropertyEvaluator<float>>(), + UnevaluatedPaintProperty<PropertyValue<float>>(), TransitionOptions(), TimePoint::min() }; - UnevaluatedPaintProperty<float, PropertyEvaluator<float>> t1 { + UnevaluatedPaintProperty<PropertyValue<float>> t1 { PropertyValue<float>(1.0f), t0, transition, TimePoint::min() }; - auto evaluate = [&] (Duration delta) { - PropertyEvaluationParameters parameters { - 0, - TimePoint::min() + delta, - ZoomHistory(), - Duration::zero() - }; - - return t1.evaluate(parameters, 0.0f); - }; - - ASSERT_FLOAT_EQ(0.0f, evaluate(0ms)); - ASSERT_FLOAT_EQ(0.0f, evaluate(500ms)); - ASSERT_FLOAT_EQ(0.0f, evaluate(612ms)); - ASSERT_FLOAT_EQ(0.823099f, evaluate(1500ms)); - ASSERT_FLOAT_EQ(1.0f, evaluate(2500ms)); + ASSERT_FLOAT_EQ(0.0f, evaluate(t1, 0ms)); + ASSERT_FLOAT_EQ(0.0f, evaluate(t1, 500ms)); + ASSERT_FLOAT_EQ(0.0f, evaluate(t1, 612ms)); + ASSERT_FLOAT_EQ(0.823099f, evaluate(t1, 1500ms)); + ASSERT_FLOAT_EQ(1.0f, evaluate(t1, 2500ms)); } |