#include #include using namespace std; template typename Container::value_type sum(Container const & c) { typename Container::value_type sum {}; for ( auto && val: c ) sum = sum + val; return sum; } #define CATCH_CONFIG_MAIN #include "catch.hpp" TEST_CASE("double") { vector v {1.2,3,4.4}; REQUIRE(Approx(sum(v)) == 8.6); } TEST_CASE("int") { vector v {1,2,3,2,4,5,7}; REQUIRE(sum(v) == 24); }