summaryrefslogtreecommitdiff
path: root/test/style/paint_property.test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/style/paint_property.test.cpp')
-rw-r--r--test/style/paint_property.test.cpp76
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));
}