#include "ash/accessibility/magnifier/magnifier_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace ash {
namespace magnifier_utils {
namespace {
TEST(MagnifierScaleUtilsTest, AdjustScaleFromScroll) {
const float min_scale = 1.0f;
const float max_scale = 20.f;
const float starting_scale = 1.0f;
float linear_offset = 0.2f;
const float step_1_scale =
GetScaleFromScroll(linear_offset, starting_scale, min_scale, max_scale);
const float step_2_scale =
GetScaleFromScroll(linear_offset, step_1_scale, min_scale, max_scale);
linear_offset = 0.4f;
const float final_scale =
GetScaleFromScroll(linear_offset, starting_scale, min_scale, max_scale);
EXPECT_FLOAT_EQ(final_scale, step_2_scale);
EXPECT_NE(step_1_scale - starting_scale, step_2_scale - step_1_scale);
}
TEST(MagnifierScaleUtilsTest, GetNextMagnifierScaleValue) {
const float min = 3.0f;
const float max = 40.0f;
float current_scale = min;
int delta_index = 1;
while (current_scale < max) {
float new_scale =
GetNextMagnifierScaleValue(delta_index, current_scale, min, max);
EXPECT_GT(new_scale, current_scale);
current_scale = new_scale;
}
EXPECT_FLOAT_EQ(current_scale, max);
delta_index = -1;
while (current_scale > min) {
float new_scale =
GetNextMagnifierScaleValue(delta_index, current_scale, min, max);
EXPECT_LT(new_scale, current_scale);
current_scale = new_scale;
}
EXPECT_FLOAT_EQ(min, current_scale);
}
}
}
}