Skip to content
Snippets Groups Projects
Commit 308416f8 authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

mv run to common std test directory

parent a67aa57d
No related branches found
No related tags found
No related merge requests found
......@@ -2,7 +2,7 @@ include(GoogleTest) # provides gtest_discover_tests
set(test TestCoreStd)
file(GLOB source_files "*.cpp")
file(GLOB source_files "*.cpp" "../../NewStd/Run.cpp")
add_executable(${test} ${source_files} ${CMAKE_SOURCE_DIR}/Tests/GTestWrapper/TestAll.cpp)
target_include_directories(${test} PUBLIC
......
......@@ -68,37 +68,3 @@ bool checkSimulation(const std::string& name, const Simulation& direct_simulatio
return success;
}
int run(const std::string& test_name, const std::string& sim_name,
const std::string& sample_builder_name, const double limit)
{
std::cout << "run std test " << test_name << std::endl;
std::cout << "- create sim " << sim_name << std::endl;
std::unique_ptr<Simulation> simulation{SimulationFactory().createItem(sim_name)};
assert(simulation);
std::cout << "- sample builder " << sample_builder_name << std::endl;
std::unique_ptr<IMultiLayerBuilder> builder{
SampleBuilderFactory().createItem(sample_builder_name)};
std::cout << "- builder name " << builder->getName() << std::endl;
int number_of_failed_tests = 0;
for (size_t iSample = 0; iSample < builder->size(); ++iSample) {
std::cout << "- run subtest " << iSample << "/" << builder->size() << ": "
<< builder->getName() << "\n";
std::unique_ptr<MultiLayer> sample(builder->createSample(iSample));
simulation->setSample(*sample);
std::string full_name = test_name;
if (builder->getName() != "SampleBuilder")
full_name += "_" + builder->getName();
simulation->runSimulation();
if (!checkSimulation(full_name, *simulation, limit))
++number_of_failed_tests;
}
return !number_of_failed_tests;
}
......@@ -12,6 +12,5 @@
//
// ************************************************************************** //
#include "Tests/Functional/Core/Std/Check.h"
#include "Tests/Functional/NewStd/Run.h"
#include "Tests/Functional/NewStd/StandardTests.h" // contains macros that are executed by gtest
// ************************************************************************** //
//
// BornAgain: simulate and fit scattering at grazing incidence
//
//! @file Tests/Functional/NewStd/Run.cpp
//! @brief Implements function run for use in standard tests.
//!
//! @homepage http://www.bornagainproject.org
//! @license GNU General Public License v3 or higher (see COPYING)
//! @copyright Forschungszentrum Jülich GmbH 2018
//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
//
// ************************************************************************** //
#include "BABuild.h"
#include "BATesting.h"
#include "Core/InputOutput/IntensityDataIOFactory.h"
#include "Core/Instrument/IntensityDataFunctions.h"
#include "Core/Multilayer/IMultiLayerBuilder.h"
#include "Core/Multilayer/MultiLayer.h"
#include "Core/Simulation/Simulation.h"
#include "Core/StandardSamples/SampleBuilderFactory.h"
#include "Core/StandardSamples/SimulationFactory.h"
#include "Core/Tools/FileSystemUtils.h"
#include <cassert>
#include <iostream>
// implemented differently for Core/Py/Gui tests:
bool checkSimulation(const std::string& name, const Simulation& direct_simulation,
const double limit);
int run(const std::string& test_name, const std::string& sim_name,
const std::string& sample_builder_name, const double limit)
{
std::cout << "run std test " << test_name << std::endl;
std::cout << "- create sim " << sim_name << std::endl;
std::unique_ptr<Simulation> simulation{SimulationFactory().createItem(sim_name)};
assert(simulation);
std::cout << "- sample builder " << sample_builder_name << std::endl;
std::unique_ptr<IMultiLayerBuilder> builder{
SampleBuilderFactory().createItem(sample_builder_name)};
std::cout << "- builder name " << builder->getName() << std::endl;
int number_of_failed_tests = 0;
for (size_t iSample = 0; iSample < builder->size(); ++iSample) {
std::cout << "- run subtest " << iSample << "/" << builder->size() << ": "
<< builder->getName() << "\n";
std::unique_ptr<MultiLayer> sample(builder->createSample(iSample));
simulation->setSample(*sample);
std::string full_name = test_name;
if (builder->getName() != "SampleBuilder")
full_name += "_" + builder->getName();
simulation->runSimulation();
if (!checkSimulation(full_name, *simulation, limit))
++number_of_failed_tests;
}
return !number_of_failed_tests;
}
......@@ -2,8 +2,8 @@
//
// BornAgain: simulate and fit scattering at grazing incidence
//
//! @file Tests/Functional/Core/Std/Check.h
//! @brief Declares function run.
//! @file Tests/Functional/NewStd/Run.h
//! @brief Declares function run for use in standard tests.
//!
//! @homepage http://www.bornagainproject.org
//! @license GNU General Public License v3 or higher (see COPYING)
......@@ -14,5 +14,5 @@
#include <string>
int run(const std::string& test_name, const std::string& sim_name, const std::string& sample_name,
const double limit);
int run(const std::string& test_name, const std::string& sim_name,
const std::string& sample_builder_name, const double limit);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment