Skip to content
Snippets Groups Projects
Commit e86f9af0 authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Improve Reduction unit tests

parent 5e78656c
No related branches found
No related tags found
1 merge request!7Feature/itemvalue
...@@ -9,6 +9,10 @@ template class Array<int>; ...@@ -9,6 +9,10 @@ template class Array<int>;
TEST_CASE("ArrayUtils", "[utils]") { TEST_CASE("ArrayUtils", "[utils]") {
SECTION("checking for reductions") {
using ArrayType = Array<int>;
using data_type = ArrayType::data_type;
Array<int> a(10); Array<int> a(10);
a[0] =13; a[0] =13;
a[1] = 1; a[1] = 1;
...@@ -21,6 +25,72 @@ TEST_CASE("ArrayUtils", "[utils]") { ...@@ -21,6 +25,72 @@ TEST_CASE("ArrayUtils", "[utils]") {
a[8] =12; a[8] =12;
a[9] = 9; a[9] = 9;
SECTION("ReduceMin") {
ReduceMin r_min(a);
data_type data;
r_min.init(data);
REQUIRE(data == std::numeric_limits<data_type>::max());
r_min(2,data);
REQUIRE(data == 8);
r_min(9,data);
REQUIRE(data == 8);
r_min(5,data);
REQUIRE(data == -1);
{
data = 0;
data_type r_value{3};
r_min.join(data, r_value);
REQUIRE(data == 0);
}
{
data = 0;
data_type r_value{-5};
r_min.join(data, r_value);
REQUIRE(data == -5);
}
REQUIRE((r_min == -3));
REQUIRE((ReduceMin(a) == -3)); REQUIRE((ReduceMin(a) == -3));
}
SECTION("ReduceMax") {
ReduceMax r_max(a);
data_type data;
r_max.init(data);
REQUIRE(data == -std::numeric_limits<data_type>::max());
r_max(3,data);
REQUIRE(data == -3);
r_max(5,data);
REQUIRE(data == -1);
r_max(8,data);
REQUIRE(data == 12);
{
data = 0;
data_type r_value{3};
r_max.join(data, r_value);
REQUIRE(data == 3);
}
{
data = 0;
data_type r_value{-5};
r_max.join(data, r_value);
REQUIRE(data == 0);
}
REQUIRE((r_max == 23));
REQUIRE((ReduceMax(a) == 23)); REQUIRE((ReduceMax(a) == 23));
} }
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment