1 // SPDX-License-Identifier: GPL-2.0-or-later
4 * Test utilities from src/ui/
10 * Copyright (C) 2024 Authors
12 * Released under GNU GPL v2+, read the file 'COPYING' for more information.
15 #include <gtest/gtest.h>
16 #include "test-utils.h"
18 #include "ui/widget/canvas/util.h"
20 using namespace Inkscape::UI::Widget
;
22 ::testing::AssertionResult
Array3IsNear(std::array
<float, 3> const &A
, std::vector
<double> const &B
, double epsilon
)
24 std::vector
<double> av
;
26 av
.emplace_back((double)v
);
28 return VectorIsNear(av
, B
, epsilon
);
31 TEST(UtilTest
, CheckerboardDarken
)
33 EXPECT_TRUE(Array3IsNear(checkerboard_darken(0x00000000), {0.08, 0.08, 0.08}, 0.01));
34 EXPECT_TRUE(Array3IsNear(checkerboard_darken(0x00000080), {0.0398, 0.0398, 0.0398}, 0.01));
35 EXPECT_TRUE(Array3IsNear(checkerboard_darken(0x000000ff), {0, 0, 0}, 0.01));
36 EXPECT_TRUE(Array3IsNear(checkerboard_darken(0x00000080), {0.0398, 0.0398, 0.0398}, 0.01));
37 EXPECT_TRUE(Array3IsNear(checkerboard_darken(0xffffff00), {0.92, 0.92, 0.92}, 0.01));
38 EXPECT_TRUE(Array3IsNear(checkerboard_darken(0xffffffff), {1, 1, 1}, 0.01));
39 EXPECT_TRUE(Array3IsNear(checkerboard_darken(0x80808000), {0.422, 0.422, 0.422}, 0.01));
40 EXPECT_TRUE(Array3IsNear(checkerboard_darken(0x80808080), {0.462, 0.462, 0.462}, 0.01));
41 EXPECT_TRUE(Array3IsNear(checkerboard_darken(0x808080ff), {0.502, 0.502, 0.502}, 0.01));
44 // vim: filetype=cpp:expandtab:shiftwidth=4:softtabstop=4:fileencoding=utf-8:textwidth=99 :