DiSMEC++
hyperparams.cpp File Reference
#include "hyperparams.h"
#include "doctest.h"

Go to the source code of this file.

Classes

struct  anonymous_namespace{hyperparams.cpp}::TestObject
 
struct  anonymous_namespace{hyperparams.cpp}::NestedTestObject
 

Namespaces

 anonymous_namespace{hyperparams.cpp}
 

Functions

 TEST_CASE ("HyperParameterBase")
 
 TEST_CASE ("nested hyper parameter object")
 
 TEST_CASE ("wrong subtype causes error")
 
 TEST_CASE ("HyperParameters")
 
 TEST_CASE ("HyperParameters nested")
 

Function Documentation

◆ TEST_CASE() [1/5]

TEST_CASE ( "HyperParameterBase"  )
Test:
This test case verifies that direct hyperparamters work as expected for classes derived from HyperParameterBase. We check that setting and getting correctly read/write the parameters, and that type mismatches and name mismatches throw errors.

Definition at line 92 of file hyperparams.cpp.

◆ TEST_CASE() [2/5]

TEST_CASE ( "HyperParameters nested"  )
Test:
This test ensures that the HyperParameters::apply function can cope with nested objects.

Definition at line 194 of file hyperparams.cpp.

References dismec::HyperParameters::apply(), and dismec::HyperParameters::set().

◆ TEST_CASE() [3/5]

TEST_CASE ( "HyperParameters"  )
Test:
Here we test the HyperParameters objects. We check
  • throw on getting unknown name
  • read/write of values
  • applying to HyperParameterBase object with corresponding type and name checks.

Definition at line 162 of file hyperparams.cpp.

References dismec::HyperParameters::apply(), dismec::HyperParameters::get(), and dismec::HyperParameters::set().

◆ TEST_CASE() [4/5]

TEST_CASE ( "nested hyper parameter object"  )
Test:
This test verifies that registering a sub-object results in correct getters and setters for the sub-object values.

Definition at line 126 of file hyperparams.cpp.

◆ TEST_CASE() [5/5]

TEST_CASE ( "wrong subtype causes error"  )
Test:
This verifies that supplying a ptr-to-member to a different class than this results in an exception.

Definition at line 145 of file hyperparams.cpp.