1 #define BOOST_TEST_DYN_LINK
2 #include <boost/test/unit_test.hpp>
8 #include <boost/filesystem.hpp>
16 BOOST_AUTO_TEST_SUITE(GrandCanonicalTest)
28 fs::path eci_src =
"tests/unit/monte_carlo/eci_0.json";
29 fs::path eci_dest = primclex.
dir().
eci(
"formation_energy",
"default",
"default",
"default",
"default");
30 fs::copy_file(eci_src, eci_dest, fs::copy_option::overwrite_if_exists);
32 fs::path bspecs_src =
"tests/unit/monte_carlo/bspecs_0.json";
34 fs::copy_file(bspecs_src, bspecs_dest, fs::copy_option::overwrite_if_exists);
36 fs::path settings_src =
"tests/unit/monte_carlo/metropolis_grand_canonical_0.json";
38 fs::create_directory(mc_dir);
39 fs::path settings_dest = mc_dir / settings_src.filename();
40 fs::copy_file(settings_src, settings_dest, fs::copy_option::overwrite_if_exists);
47 auto check = [&](std::string str) {
52 BOOST_CHECK(
check(R
"(casm bset -u)"));
54 BOOST_CHECK(check(std::string("casm monte -s ") + settings_dest.string()));
58 BOOST_AUTO_TEST_SUITE_END()
Data structure holding basic CASM command info.
fs::path eci(std::string property, std::string calctype, std::string ref, std::string bset, std::string eci) const
Returns path to eci.json.
void commit() const
Save settings to project settings file.
const DirectoryStructure & dir() const
void check_composition() override
Check "casm composition".
fs::path bspecs(std::string bset) const
Return basis function specs (bspecs.json) file path.
fs::path root_dir() const
Return casm project directory path.
ProjectSettings & settings()
PrimClex is the top-level data structure for a CASM project.
BOOST_AUTO_TEST_CASE(Test0)
bool set_casm_libdir(fs::path dir)
Set casm libdir (empty string to use default)
bool check(std::string test, const jsonParser &expected, const jsonParser &calculated, fs::path test_cases_path, bool quiet, double tol=0.0)
Check expected JSON vs calculated JSON using BOOST_CHECK_EQUAL.
virtual void check_init()
Check project initialization.
int casm_api(const CommandArgs &args)
Executes CASM commands specified by args.