From 3efb4e412f385dd2697653887564944af8b5eef2 Mon Sep 17 00:00:00 2001 From: Ioana Ghiban Date: Tue, 13 Feb 2024 07:50:15 +0100 Subject: [PATCH] [test] Add tests for scale --- test/api/test_scale.cpp | 42 +++++++++++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/test/api/test_scale.cpp b/test/api/test_scale.cpp index 310ee5abb..89e48c6cc 100644 --- a/test/api/test_scale.cpp +++ b/test/api/test_scale.cpp @@ -56,13 +56,15 @@ class ScaleTestLinearBase { virtual float shift() = 0; public: - void test_scalar() { + // minimum_size set by caller to trigger the 'big' scale path. + void test_scalar(size_t minimum_size = 1) { size_t width = test::Options::vector_length() - 1; - test_linear(width); + test_linear(width, minimum_size); } - void test_vector() { + + void test_vector(size_t minimum_size = 1) { size_t width = test::Options::vector_length() * 2; - test_linear(width); + test_linear(width, minimum_size); } private: @@ -77,17 +79,16 @@ class ScaleTestLinearBase { ElementType counter_; }; // end of class GenerateLinearSeries - void test_linear(size_t width) { - size_t height = ((std::numeric_limits::max() - - std::numeric_limits::min()) / - width) + - 1; + void test_linear(size_t width, size_t minimum_size) { + size_t image_size = + std::max(minimum_size, static_cast(max() - min())); + size_t height = image_size / width + 1; test::Array2D source(width, height, 1, 1); test::Array2D expected(width, height, 1, 1); test::Array2D actual = test::Array2D(width, height, 1, 1); - GenerateLinearSeries generator(std::numeric_limits::min()); + GenerateLinearSeries generator(min()); source.fill(&generator); @@ -328,6 +329,13 @@ TYPED_TEST(ScaleTest, TestVector1) { ScaleTestLinear1{}.test_vector(); } +TYPED_TEST(ScaleTest, TestScalar1Tbx) { + ScaleTestLinear1{}.test_scalar(2500); +} +TYPED_TEST(ScaleTest, TestVector1Tbx) { + ScaleTestLinear1{}.test_vector(2500); +} + TYPED_TEST(ScaleTest, TestScalar2) { ScaleTestLinear2{}.test_scalar(); } @@ -335,6 +343,13 @@ TYPED_TEST(ScaleTest, TestVector2) { ScaleTestLinear2{}.test_vector(); } +TYPED_TEST(ScaleTest, TestScalar2Tbx) { + ScaleTestLinear2{}.test_scalar(2500); +} +TYPED_TEST(ScaleTest, TestVector2Tbx) { + ScaleTestLinear2{}.test_vector(2500); +} + TYPED_TEST(ScaleTest, TestScalar3) { ScaleTestLinear3{}.test_scalar(); } @@ -342,6 +357,13 @@ TYPED_TEST(ScaleTest, TestVector3) { ScaleTestLinear3{}.test_vector(); } +TYPED_TEST(ScaleTest, TestScalar3Tbx) { + ScaleTestLinear3{}.test_scalar(2500); +} +TYPED_TEST(ScaleTest, TestVector3Tbx) { + ScaleTestLinear3{}.test_vector(2500); +} + TYPED_TEST(ScaleTest, TestAdd) { ScaleTestAdd{}.test(); } TYPED_TEST(ScaleTest, TestSubtract) { ScaleTestSubtract{}.test(); } -- GitLab