Line data Source code
1 : #include "doctest/doctest.h" 2 : #include "Initializer.h" 3 : 4 : using namespace elsa; 5 : using namespace elsa::ml; 6 : using namespace doctest; 7 : 8 : TEST_SUITE_BEGIN("ml"); 9 : 10 : // TODO(dfrank): remove and replace with proper doctest usage of test cases 11 : #define SECTION(name) DOCTEST_SUBCASE(name) 12 : 13 2 : TEST_CASE("Initializer") 14 : { 15 : using InitializerImpl = elsa::ml::detail::InitializerImpl<real_t>; 16 : 17 2 : const index_t size = 1000; 18 2 : real_t* data = new real_t[size]; 19 : 20 3 : SECTION("Zeros") 21 : { 22 1 : InitializerImpl::initialize(data, size, Initializer::Zeros); 23 : 24 1001 : for (index_t i = 0; i < size; ++i) { 25 1000 : REQUIRE(data[i] == Approx(0.f)); 26 : } 27 : } 28 : 29 3 : SECTION("Ones") 30 : { 31 1 : InitializerImpl::initialize(data, size, Initializer::Ones); 32 : 33 1001 : for (index_t i = 0; i < size; ++i) { 34 1000 : REQUIRE(data[i] == Approx(1.f)); 35 : } 36 : } 37 2 : delete[] data; 38 2 : } 39 : 40 : TEST_SUITE_END();