#include "kds_s2000w_pixel_converter.h"
#define TENTH 10
+#define ROUND_STEP 30
+
+uint32_t _kds_s2000w_pixel_converter_round_pixel(uint32_t pixel)
+{
+ uint32_t diff = pixel % 30;
+ diff = ROUND_STEP - diff;
+ if (diff < 30)
+ pixel = pixel + diff;
+
+ return pixel;
+}
uint32_t kds_s2000w_pixel_converter_pixel_to_tenth_inch(uint32_t dpi, uint32_t pixel)
{
+ pixel = _kds_s2000w_pixel_converter_round_pixel(pixel);
return pixel * TENTH / dpi;
}
assert_int_equal(tenth_inch, 75);
}
+void kds_s2000w_pixel_odd_to_tenth_inch_test()
+{
+ uint32_t dpi = 300;
+ uint32_t pixel = 2235;
+
+ uint32_t tenth_inch = kds_s2000w_pixel_converter_pixel_to_tenth_inch(dpi, pixel);
+
+ assert_int_equal(tenth_inch, 75);
+}
+
void kds_s2000w_max_tl_x_tenth_inch_to_pixel_test()
{
uint32_t dpi = 300;
{
const struct CMUnitTest tests[] = {
cmocka_unit_test(kds_s2000w_max_tl_x_pixel_to_tenth_inch_test),
+ cmocka_unit_test(kds_s2000w_pixel_odd_to_tenth_inch_test),
cmocka_unit_test(kds_s2000w_max_tl_x_tenth_inch_to_pixel_test)
};