diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt index eea78435adbedd5baf35f2a988155181fe7781ad..6c431597c1093c7d4004a7b4a426c9d7195743fc 100644 --- a/src/tests/CMakeLists.txt +++ b/src/tests/CMakeLists.txt @@ -54,6 +54,11 @@ add_executable(DESolver_test DESolver_test.cpp) target_link_libraries(DESolver_test lib4neuro boost_unit_test) target_include_directories(DESolver_test PRIVATE ${Boost_INCLUDE_DIRS} ${TURTLE_INCLUDE_DIR}) +add_executable(GradientDescent_test GradientDescent_test.cpp) +target_link_libraries(GradientDescent_test lib4neuro boost_unit_test) +target_include_directories(GradientDescent_test PRIVATE ${Boost_INCLUDE_DIRS} ${TURTLE_INCLUDE_DIR}) + + set_target_properties( linear_neuron_test constant_neuron_test @@ -68,6 +73,8 @@ set_target_properties( NeuralNetworkSum_test errorfunction_test DESolver_test + GradientDescent_test + PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib" diff --git a/src/tests/DESolver_test.cpp b/src/tests/DESolver_test.cpp index de20352fd55f06b3b91621a4e55dcd45f8269967..62321d17dc6e22b6041369d14b44119edfe1d919 100644 --- a/src/tests/DESolver_test.cpp +++ b/src/tests/DESolver_test.cpp @@ -118,25 +118,25 @@ BOOST_AUTO_TEST_SUITE(DESolver_test) } BOOST_AUTO_TEST_CASE(DESolver_add_eq_test){ - // DESolver *deSolver = new DESolver(1,1,1); - // MultiIndex *multiIndex = new MultiIndex(2); - // multiIndex->set_partial_derivative(0,1); - // multiIndex->set_partial_derivative(1,0.5); - - //deSolver->add_to_differential_equation(0, *multiIndex, "0.5" ); - // - // std::vector<double> inp, out; - // std::vector<std::pair<std::vector<double>, std::vector<double>>> data_vec_dy; - // inp = {0.0}; - // out = {8.0}; - // data_vec_dy.emplace_back(std::make_pair(inp, out)); - // DataSet ds_02(&data_vec_dy); - - // deSolver->set_error_function( 0, ErrorFunctionType::ErrorFuncMSE, &ds_02 ); - - // std::vector<double> weights; - // weights.push_back(1.0); - // BOOST_CHECK_EQUAL(64,deSolver->eval_total_error(weights)); + DESolver *deSolver = new DESolver(1,1,1); + MultiIndex *multiIndex = new MultiIndex(2); + multiIndex->set_partial_derivative(0,1); + multiIndex->set_partial_derivative(1,0.5); + + deSolver->add_to_differential_equation(0, *multiIndex, "0.5" ); + + std::vector<double> inp, out; + std::vector<std::pair<std::vector<double>, std::vector<double>>> data_vec_dy; + inp = {0.0}; + out = {8.0}; + data_vec_dy.emplace_back(std::make_pair(inp, out)); + DataSet ds_02(&data_vec_dy); + + deSolver->set_error_function( 0, ErrorFunctionType::ErrorFuncMSE, &ds_02 ); + + std::vector<double> weights; + weights.push_back(1.0); + BOOST_CHECK_EQUAL(64,deSolver->eval_total_error(weights)); } BOOST_AUTO_TEST_SUITE_END()