]> git.sesse.net Git - movit/blobdiff - resample_effect_test.cpp
Hard-assert on something that has bitten me too many times now.
[movit] / resample_effect_test.cpp
index 5b620fde76f8c13fe80496c92b8fd8d61237cf62..02d9d74d1102ace6a956331bac2280f8a368060f 100644 (file)
@@ -162,8 +162,8 @@ TEST(ResampleEffectTest, UpscaleByThreeGetsCorrectPixelCenters) {
        EXPECT_FLOAT_EQ(1.0, out_data[7 * (size * 3) + 7]);
        for (unsigned y = 0; y < size * 3; ++y) {
                for (unsigned x = 0; x < size * 3; ++x) {
-                       EXPECT_FLOAT_EQ(out_data[y * (size * 3) + x], out_data[(size * 3 - y - 1) * (size * 3) + x]);
-                       EXPECT_FLOAT_EQ(out_data[y * (size * 3) + x], out_data[y * (size * 3) + (size * 3 - x - 1)]);
+                       EXPECT_NEAR(out_data[y * (size * 3) + x], out_data[(size * 3 - y - 1) * (size * 3) + x], 1e-6);
+                       EXPECT_NEAR(out_data[y * (size * 3) + x], out_data[y * (size * 3) + (size * 3 - x - 1)], 1e-6);
                }
        }
 }
@@ -402,12 +402,12 @@ TEST(ResampleEffectTest, VerticalZoomFromTop) {
 }
 
 TEST(ResampleEffectTest, Precision) {
-       const int size = 2048;
+       const int size = 1920;  // Difficult non-power-of-two size.
        const int offset = 5;
 
        // Deliberately put the data of interest very close to the right,
        // where texture coordinates are farther from 0 and thus less precise.
-       float data[size] = {0};
+       float data[size * 2] = {0};
        data[size - offset] = 1.0f;
        float expected_data[size * 2] = {0};
        for (int x = 0; x < size * 2; ++x) {