#include <catch.hpp>

#include <PastisAssert.hpp>
#include <Array.hpp>
#include <ArrayUtils.hpp>

// Instantiate to ensure full coverage is performed
template class Array<int>;

TEST_CASE("ArrayUtils", "[utils]") {

  Array<int> a(10);
  a[0] =13;
  a[1] = 1;
  a[2] = 8;
  a[3] =-3;
  a[4] =23;
  a[5] =-1;
  a[6] =13;
  a[7] = 0;
  a[8] =12;
  a[9] = 9;

  REQUIRE((ReduceMin(a) == -3));
  REQUIRE((ReduceMax(a) == 23));
}