void TestObjectiveFunctional::test_calculate_neural_parameters_gradient(void) { message += "test_calculate_neural_parameters_gradient\n"; MultilayerPerceptron mlp; MockObjectiveFunctional mof(&mlp); int neural_parameters_number; Vector<double> neural_parameters_gradient; // Test mlp.set(); neural_parameters_number = mlp.get_neural_parameters_number(); neural_parameters_gradient = mof.calculate_neural_parameters_gradient(); assert_true(neural_parameters_gradient.get_size() == neural_parameters_number, LOG); // Test mlp.set(1,1,1); neural_parameters_number = mlp.get_neural_parameters_number(); neural_parameters_gradient = mof.calculate_neural_parameters_gradient(); assert_true(neural_parameters_gradient.get_size() == neural_parameters_number, LOG); // Test mlp.set(1); neural_parameters_number = mlp.get_neural_parameters_number(); neural_parameters_gradient = mof.calculate_neural_parameters_gradient(); assert_true(neural_parameters_gradient.get_size() == neural_parameters_number, LOG); // Test mlp.set(1,1,1); mlp.set_independent_parameters_number(1); neural_parameters_number = mlp.get_neural_parameters_number(); neural_parameters_gradient = mof.calculate_neural_parameters_gradient(); assert_true(neural_parameters_gradient.get_size() == neural_parameters_number, LOG); }