a few more converted commands and updates for unit tests

This commit is contained in:
Axel Kohlmeyer
2021-09-21 16:53:07 -04:00
parent c3d34e8656
commit 914f035475
13 changed files with 106 additions and 140 deletions

View File

@ -138,6 +138,10 @@ FixGPU::FixGPU(LAMMPS *lmp, int narg, char **arg) :
if (iarg+2 > narg) error->all(FLERR,"Illegal package gpu command"); if (iarg+2 > narg) error->all(FLERR,"Illegal package gpu command");
if (strcmp(arg[iarg+1],"yes") == 0) _gpu_mode = GPU_NEIGH; if (strcmp(arg[iarg+1],"yes") == 0) _gpu_mode = GPU_NEIGH;
else if (strcmp(arg[iarg+1],"no") == 0) _gpu_mode = GPU_FORCE; else if (strcmp(arg[iarg+1],"no") == 0) _gpu_mode = GPU_FORCE;
else if (strcmp(arg[iarg+1],"on") == 0) _gpu_mode = GPU_NEIGH;
else if (strcmp(arg[iarg+1],"off") == 0) _gpu_mode = GPU_FORCE;
else if (strcmp(arg[iarg+1],"true") == 0) _gpu_mode = GPU_NEIGH;
else if (strcmp(arg[iarg+1],"false") == 0) _gpu_mode = GPU_FORCE;
else if (strcmp(arg[iarg+1],"hybrid") == 0) _gpu_mode = GPU_HYB_NEIGH; else if (strcmp(arg[iarg+1],"hybrid") == 0) _gpu_mode = GPU_HYB_NEIGH;
else error->all(FLERR,"Illegal package gpu command"); else error->all(FLERR,"Illegal package gpu command");
iarg += 2; iarg += 2;

View File

@ -460,9 +460,7 @@ int DumpH5MD::modify_param(int narg, char **arg)
{ {
if (strcmp(arg[0],"unwrap") == 0) { if (strcmp(arg[0],"unwrap") == 0) {
if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); if (narg < 2) error->all(FLERR,"Illegal dump_modify command");
if (strcmp(arg[1],"yes") == 0) unwrap_flag = 1; unwrap_flag = utils::logical(FLERR, arg[1], false, lmp);
else if (strcmp(arg[1],"no") == 0) unwrap_flag = 0;
else error->all(FLERR,"Illegal dump_modify command");
return 2; return 2;
} }
return 0; return 0;

View File

@ -19,19 +19,19 @@
#include "fix_lb_rigid_pc_sphere.h" #include "fix_lb_rigid_pc_sphere.h"
#include <cmath>
#include <cstring>
#include "atom.h" #include "atom.h"
#include "domain.h"
#include "update.h"
#include "modify.h"
#include "group.h"
#include "comm.h" #include "comm.h"
#include "force.h" #include "domain.h"
#include "memory.h"
#include "error.h" #include "error.h"
#include "fix_lb_fluid.h" #include "fix_lb_fluid.h"
#include "force.h"
#include "group.h"
#include "memory.h"
#include "modify.h"
#include "update.h"
#include <cmath>
#include <cstring>
using namespace LAMMPS_NS; using namespace LAMMPS_NS;
using namespace FixConst; using namespace FixConst;
@ -237,15 +237,9 @@ FixLbRigidPCSphere::FixLbRigidPCSphere(LAMMPS *lmp, int narg, char **arg) :
utils::bounds(FLERR,arg[iarg+1],1,nbody,mlo,mhi,error); utils::bounds(FLERR,arg[iarg+1],1,nbody,mlo,mhi,error);
double xflag,yflag,zflag; double xflag,yflag,zflag;
if (strcmp(arg[iarg+2],"off") == 0) xflag = 0.0; xflag = (double) utils::logical(FLERR, arg[iarg+2], false, lmp);
else if (strcmp(arg[iarg+2],"on") == 0) xflag = 1.0; yflag = (double) utils::logical(FLERR, arg[iarg+3], false, lmp);
else error->all(FLERR,"Illegal fix lb/rigid/pc/sphere command"); zflag = (double) utils::logical(FLERR, arg[iarg+4], false, lmp);
if (strcmp(arg[iarg+2],"off") == 0) yflag = 0.0;
else if (strcmp(arg[iarg+3],"on") == 0) yflag = 1.0;
else error->all(FLERR,"Illegal fix lb/rigid/pc/sphere command");
if (strcmp(arg[iarg+4],"off") == 0) zflag = 0.0;
else if (strcmp(arg[iarg+4],"on") == 0) zflag = 1.0;
else error->all(FLERR,"Illegal fix lb/rigid/pc/sphere command");
int count = 0; int count = 0;
for (int m = mlo; m <= mhi; m++) { for (int m = mlo; m <= mhi; m++) {

View File

@ -458,28 +458,20 @@ FixIMD::FixIMD(LAMMPS *lmp, int narg, char **arg) :
imd_trate = 1; imd_trate = 1;
/* parse optional arguments */ /* parse optional arguments */
int argsdone = 4; int iarg = 4;
while (argsdone+1 < narg) { while (iarg+1 < narg) {
if (0 == strcmp(arg[argsdone], "unwrap")) { if (0 == strcmp(arg[iarg], "unwrap")) {
if (0 == strcmp(arg[argsdone+1], "on")) { unwrap_flag = utils::logical(FLERR, arg[iarg+1], false, lmp);
unwrap_flag = 1; } else if (0 == strcmp(arg[iarg], "nowait")) {
} else { nowait_flag = utils::logical(FLERR, arg[iarg+1], false, lmp);
unwrap_flag = 0; } else if (0 == strcmp(arg[iarg], "fscale")) {
} imd_fscale = utils::numeric(FLERR,arg[iarg+1],false,lmp);
} else if (0 == strcmp(arg[argsdone], "nowait")) { } else if (0 == strcmp(arg[iarg], "trate")) {
if (0 == strcmp(arg[argsdone+1], "on")) { imd_trate = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
nowait_flag = 1;
} else {
nowait_flag = 0;
}
} else if (0 == strcmp(arg[argsdone], "fscale")) {
imd_fscale = utils::numeric(FLERR,arg[argsdone+1],false,lmp);
} else if (0 == strcmp(arg[argsdone], "trate")) {
imd_trate = utils::inumeric(FLERR,arg[argsdone+1],false,lmp);
} else { } else {
error->all(FLERR,"Unknown fix imd parameter"); error->all(FLERR,"Unknown fix imd parameter");
} }
++argsdone; ++argsdone; ++iarg; ++iarg;
} }
/* sanity check on parameters */ /* sanity check on parameters */

View File

@ -378,12 +378,8 @@ void PairSRP::settings(int narg, char **arg)
while (iarg < narg) { while (iarg < narg) {
if (strcmp(arg[iarg],"exclude") == 0) { if (strcmp(arg[iarg],"exclude") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal pair srp command"); if (iarg+2 > narg) error->all(FLERR,"Illegal pair srp command");
if (strcmp(arg[iarg+1],"yes") == 0) exclude = utils::logical(FLERR, arg[iarg+1], false, lmp);
exclude = 1; if (min && !exclude) error->all(FLERR,"Illegal exclude option in pair srp command");
if (strcmp(arg[iarg+1],"no") == 0) {
if (min) error->all(FLERR,"Illegal exclude option in pair srp command");
exclude = 0;
}
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"bptype") == 0) { } else if (strcmp(arg[iarg],"bptype") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal pair srp command"); if (iarg+2 > narg) error->all(FLERR,"Illegal pair srp command");

View File

@ -148,12 +148,7 @@ void PairHDNNP::settings(int narg, char **arg)
// show extrapolation warnings // show extrapolation warnings
} else if (strcmp(arg[iarg], "showew") == 0) { } else if (strcmp(arg[iarg], "showew") == 0) {
if (iarg + 2 > narg) error->all(FLERR, "Illegal pair_style command"); if (iarg + 2 > narg) error->all(FLERR, "Illegal pair_style command");
if (strcmp(arg[iarg + 1], "yes") == 0) showew = utils::logical(FLERR, arg[iarg + 1], false, lmp) == 1;
showew = true;
else if (strcmp(arg[iarg + 1], "no") == 0)
showew = false;
else
error->all(FLERR, "Illegal pair_style command");
iarg += 2; iarg += 2;
// show extrapolation warning summary // show extrapolation warning summary
} else if (strcmp(arg[iarg], "showewsum") == 0) { } else if (strcmp(arg[iarg], "showewsum") == 0) {
@ -168,12 +163,7 @@ void PairHDNNP::settings(int narg, char **arg)
// reset extrapolation warning counter // reset extrapolation warning counter
} else if (strcmp(arg[iarg], "resetew") == 0) { } else if (strcmp(arg[iarg], "resetew") == 0) {
if (iarg + 2 > narg) error->all(FLERR, "Illegal pair_style command"); if (iarg + 2 > narg) error->all(FLERR, "Illegal pair_style command");
if (strcmp(arg[iarg + 1], "yes") == 0) resetew = utils::logical(FLERR, arg[iarg + 1], false, lmp) == 1;
resetew = true;
else if (strcmp(arg[iarg + 1], "no") == 0)
resetew = false;
else
error->all(FLERR, "Illegal pair_style command");
iarg += 2; iarg += 2;
// length unit conversion factor // length unit conversion factor
} else if (strcmp(arg[iarg], "cflength") == 0) { } else if (strcmp(arg[iarg], "cflength") == 0) {

View File

@ -18,9 +18,6 @@
#include "fix_mscg.h" #include "fix_mscg.h"
#include <cstring>
#include "mscg.h"
#include "atom.h" #include "atom.h"
#include "comm.h" #include "comm.h"
#include "domain.h" #include "domain.h"
@ -35,6 +32,10 @@
#include "update.h" #include "update.h"
#include "variable.h" #include "variable.h"
#include <cstring>
#include "mscg.h"
using namespace LAMMPS_NS; using namespace LAMMPS_NS;
using namespace FixConst; using namespace FixConst;
@ -49,8 +50,7 @@ FixMSCG::FixMSCG(LAMMPS *lmp, int narg, char **arg) :
me = comm->me; me = comm->me;
nprocs = comm->nprocs; nprocs = comm->nprocs;
if (nprocs > 1) error->all(FLERR,"Fix mscg does not yet support " if (nprocs > 1) error->all(FLERR,"Fix mscg does not yet support parallel use via MPI");
"parallel use via MPI");
if (sizeof(tagint) != sizeof(smallint)) if (sizeof(tagint) != sizeof(smallint))
error->all(FLERR,"Fix mscg must be used with 32-bit atom IDs"); error->all(FLERR,"Fix mscg must be used with 32-bit atom IDs");
@ -77,11 +77,7 @@ FixMSCG::FixMSCG(LAMMPS *lmp, int narg, char **arg) :
while (iarg < narg) { while (iarg < narg) {
if (strcmp(arg[iarg],"range") == 0) { if (strcmp(arg[iarg],"range") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix mscg command"); if (iarg+2 > narg) error->all(FLERR,"Illegal fix mscg command");
if (strcmp(arg[iarg+1],"on") == 0) range_flag = utils::logical(FLERR, arg[iarg+1], false, lmp);
range_flag = 1;
else if (strcmp(arg[iarg+1],"off") == 0)
range_flag = 0;
else error->all(FLERR,"Illegal fix mscg command");
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"name") == 0) { } else if (strcmp(arg[iarg],"name") == 0) {
if (iarg+ntypes+1 > narg) if (iarg+ntypes+1 > narg)
@ -89,23 +85,23 @@ FixMSCG::FixMSCG(LAMMPS *lmp, int narg, char **arg) :
name_flag = 1; name_flag = 1;
for (int i = 0; i < ntypes; i++) { for (int i = 0; i < ntypes; i++) {
iarg += 1; iarg += 1;
std::string str = arg[iarg]; delete[] type_names[i];
type_names[i] = strcat(strdup(str.c_str()),"\0"); type_names[i] = utils::strdup(arg[iarg]);
} }
iarg += 1; iarg += 1;
} else if (strcmp(arg[iarg],"max") == 0) { } else if (strcmp(arg[iarg],"max") == 0) {
if (iarg+4 > narg) error->all(FLERR,"Illegal fix mscg command"); if (iarg+4 > narg) error->all(FLERR,"Illegal fix mscg command");
max_partners_bond = atoi(arg[iarg+1]); max_partners_bond = utils::inumeric(FLERR,arg[iarg+1],false, lmp);
max_partners_angle = atoi(arg[iarg+2]); max_partners_angle = utils::inumeric(FLERR,arg[iarg+2],false, lmp);
max_partners_dihedral = atoi(arg[iarg+3]); max_partners_dihedral = utils::inumeric(FLERR,arg[iarg+3],false, lmp);
iarg += 4; iarg += 4;
} else error->all(FLERR,"Illegal fix mscg command"); } else error->all(FLERR,"Illegal fix mscg command");
} }
if (name_flag == 0) { if (name_flag == 0) {
for (int i = 0; i < natoms; i++) { for (int i = 0; i < natoms; i++) {
std::string str = std::to_string(i+1); delete[] type_names[i];
type_names[i] = strcat(strdup(str.c_str()),"\0"); type_names[i] = utils::strdup(std::to_string(i+1));
} }
} }
} }
@ -114,6 +110,9 @@ FixMSCG::FixMSCG(LAMMPS *lmp, int narg, char **arg) :
FixMSCG::~FixMSCG() FixMSCG::~FixMSCG()
{ {
int natoms = atom->natoms;
for (int i = 0; i < natoms; i++) delete[] type_names[i];
delete[] type_names;
memory->destroy(f); memory->destroy(f);
} }
@ -321,8 +320,7 @@ void FixMSCG::post_run()
if (nframes != n_frames) if (nframes != n_frames)
error->warning(FLERR,"Fix mscg n_frames is inconsistent with control.in"); error->warning(FLERR,"Fix mscg n_frames is inconsistent with control.in");
if (nframes % block_size != 0) if (nframes % block_size != 0)
error->warning(FLERR,"Fix mscg n_frames is not divisible by " error->warning(FLERR,"Fix mscg n_frames is not divisible by block_size in control.in");
"block_size in control.in");
if (range_flag) if (range_flag)
rangefinder_solve_and_output(mscg_struct); rangefinder_solve_and_output(mscg_struct);

View File

@ -181,30 +181,29 @@ void DynamicalMatrix::command(int narg, char **arg)
void DynamicalMatrix::options(int narg, char **arg) void DynamicalMatrix::options(int narg, char **arg)
{ {
if (narg < 0) error->all(FLERR,"Illegal dynamical_matrix command"); if (narg < 0) error->all(FLERR,"Illegal dynamical_matrix command");
int iarg = 0; int iarg = 0;
const char* filename = "dynmat.dyn"; const char* filename = "dynmat.dyn";
while (iarg < narg) { while (iarg < narg) {
if (strcmp(arg[iarg],"binary") == 0) { if (strcmp(arg[iarg],"binary") == 0) {
if (iarg + 2 > narg) error->all(FLERR, "Illegal dynamical_matrix command"); if (iarg + 2 > narg) error->all(FLERR, "Illegal dynamical_matrix command");
if (strcmp(arg[iarg+1],"gzip") == 0) { if (strcmp(arg[iarg+1],"gzip") == 0) {
compressed = 1; compressed = 1;
} } else if (strcmp(arg[iarg+1],"yes") == 0) {
else if (strcmp(arg[iarg+1],"yes") == 0) { binaryflag = 1;
binaryflag = 1; }
} iarg += 2;
iarg += 2;
}
else if (strcmp(arg[iarg],"file") == 0) {
if (iarg+2 > narg) error->all(FLERR, "Illegal dynamical_matrix command");
filename = arg[iarg + 1];
file_flag = 1;
iarg += 2;
} else error->all(FLERR,"Illegal dynamical_matrix command");
}
if (file_flag == 1) {
openfile(filename);
} }
else if (strcmp(arg[iarg],"file") == 0) {
if (iarg+2 > narg) error->all(FLERR, "Illegal dynamical_matrix command");
filename = arg[iarg + 1];
file_flag = 1;
iarg += 2;
} else error->all(FLERR,"Illegal dynamical_matrix command");
}
if (file_flag == 1) {
openfile(filename);
}
} }
/* ---------------------------------------------------------------------- /* ----------------------------------------------------------------------

View File

@ -105,7 +105,6 @@ void PairSpinExchange::coeff(int narg, char **arg)
// get exchange arguments from input command // get exchange arguments from input command
int iarg = 7;
const double rc = utils::numeric(FLERR,arg[3],false,lmp); const double rc = utils::numeric(FLERR,arg[3],false,lmp);
const double j1 = utils::numeric(FLERR,arg[4],false,lmp); const double j1 = utils::numeric(FLERR,arg[4],false,lmp);
const double j2 = utils::numeric(FLERR,arg[5],false,lmp); const double j2 = utils::numeric(FLERR,arg[5],false,lmp);
@ -113,13 +112,10 @@ void PairSpinExchange::coeff(int narg, char **arg)
// read energy offset flag if specified // read energy offset flag if specified
int iarg = 7;
while (iarg < narg) { while (iarg < narg) {
if (strcmp(arg[7],"offset") == 0) { if (strcmp(arg[iarg],"offset") == 0) {
if (strcmp(arg[8],"yes") == 0) { e_offset = utils::logical(FLERR, arg[iarg+1], false, lmp);
e_offset = 1;
} else if (strcmp(arg[8],"no") == 0) {
e_offset = 0;
} else error->all(FLERR,"Incorrect args for pair coefficients");
iarg += 2; iarg += 2;
} else error->all(FLERR,"Incorrect args for pair coefficients"); } else error->all(FLERR,"Incorrect args for pair coefficients");
} }

View File

@ -142,12 +142,7 @@ FixSRD::FixSRD(LAMMPS *lmp, int narg, char **arg) :
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg], "overlap") == 0) { } else if (strcmp(arg[iarg], "overlap") == 0) {
if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command"); if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command");
if (strcmp(arg[iarg + 1], "yes") == 0) overlap = utils::logical(FLERR,arg[iarg+1],false,lmp);
overlap = 1;
else if (strcmp(arg[iarg + 1], "no") == 0)
overlap = 0;
else
error->all(FLERR, "Illegal fix srd command");
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg], "inside") == 0) { } else if (strcmp(arg[iarg], "inside") == 0) {
if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command"); if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command");
@ -162,12 +157,7 @@ FixSRD::FixSRD(LAMMPS *lmp, int narg, char **arg) :
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg], "exact") == 0) { } else if (strcmp(arg[iarg], "exact") == 0) {
if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command"); if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command");
if (strcmp(arg[iarg + 1], "yes") == 0) exactflag = utils::logical(FLERR,arg[iarg+1],false,lmp);
exactflag = 1;
else if (strcmp(arg[iarg + 1], "no") == 0)
exactflag = 0;
else
error->all(FLERR, "Illegal fix srd command");
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg], "radius") == 0) { } else if (strcmp(arg[iarg], "radius") == 0) {
if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command"); if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command");
@ -206,12 +196,7 @@ FixSRD::FixSRD(LAMMPS *lmp, int narg, char **arg) :
iarg += 3; iarg += 3;
} else if (strcmp(arg[iarg], "tstat") == 0) { } else if (strcmp(arg[iarg], "tstat") == 0) {
if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command"); if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command");
if (strcmp(arg[iarg + 1], "no") == 0) tstat = utils::logical(FLERR,arg[iarg+1],false,lmp);
tstat = 0;
else if (strcmp(arg[iarg + 1], "yes") == 0)
tstat = 1;
else
error->all(FLERR, "Illegal fix srd command");
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg], "rescale") == 0) { } else if (strcmp(arg[iarg], "rescale") == 0) {
if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command"); if (iarg + 2 > narg) error->all(FLERR, "Illegal fix srd command");

View File

@ -270,8 +270,8 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) :
else if (strcmp(arg[iarg+1],"off") == 0) kokkosflag = 0; else if (strcmp(arg[iarg+1],"off") == 0) kokkosflag = 0;
else if (strcmp(arg[iarg+1],"yes") == 0) kokkosflag = 1; else if (strcmp(arg[iarg+1],"yes") == 0) kokkosflag = 1;
else if (strcmp(arg[iarg+1],"no") == 0) kokkosflag = 0; else if (strcmp(arg[iarg+1],"no") == 0) kokkosflag = 0;
else if (strcmp(arg[iarg+1],"1") == 0) kokkosflag = 1; else if (strcmp(arg[iarg+1],"true") == 0) kokkosflag = 1;
else if (strcmp(arg[iarg+1],"0") == 0) kokkosflag = 0; else if (strcmp(arg[iarg+1],"false") == 0) kokkosflag = 0;
else error->universe_all(FLERR,"Invalid command-line argument"); else error->universe_all(FLERR,"Invalid command-line argument");
iarg += 2; iarg += 2;
// delimit any extra args for the Kokkos instantiation // delimit any extra args for the Kokkos instantiation

View File

@ -1235,6 +1235,8 @@ int ReadDump::fields_and_keywords(int narg, char **arg)
if (iarg+2 > narg) error->all(FLERR,"Illegal read_dump command"); if (iarg+2 > narg) error->all(FLERR,"Illegal read_dump command");
if (strcmp(arg[iarg+1],"yes") == 0) addflag = YESADD; if (strcmp(arg[iarg+1],"yes") == 0) addflag = YESADD;
else if (strcmp(arg[iarg+1],"no") == 0) addflag = NOADD; else if (strcmp(arg[iarg+1],"no") == 0) addflag = NOADD;
else if (strcmp(arg[iarg+1],"true") == 0) addflag = YESADD;
else if (strcmp(arg[iarg+1],"false") == 0) addflag = NOADD;
else if (strcmp(arg[iarg+1],"keep") == 0) addflag = KEEPADD; else if (strcmp(arg[iarg+1],"keep") == 0) addflag = KEEPADD;
else error->all(FLERR,"Illegal read_dump command"); else error->all(FLERR,"Illegal read_dump command");
iarg += 2; iarg += 2;

View File

@ -41,26 +41,38 @@ protected:
TEST_F(InputConvertTest, logical) TEST_F(InputConvertTest, logical)
{ {
EXPECT_EQ(utils::logical(FLERR, "yes", false, lmp), 1); EXPECT_EQ(utils::logical(FLERR, "yes", false, lmp), 1);
EXPECT_EQ(utils::logical(FLERR, "Yes", false, lmp), 1);
EXPECT_EQ(utils::logical(FLERR, "YES", false, lmp), 1);
EXPECT_EQ(utils::logical(FLERR, "yEs", false, lmp), 1);
EXPECT_EQ(utils::logical(FLERR, "true", false, lmp), 1); EXPECT_EQ(utils::logical(FLERR, "true", false, lmp), 1);
EXPECT_EQ(utils::logical(FLERR, "True", false, lmp), 1);
EXPECT_EQ(utils::logical(FLERR, "TRUE", false, lmp), 1);
EXPECT_EQ(utils::logical(FLERR, "on", false, lmp), 1); EXPECT_EQ(utils::logical(FLERR, "on", false, lmp), 1);
EXPECT_EQ(utils::logical(FLERR, "On", false, lmp), 1);
EXPECT_EQ(utils::logical(FLERR, "ON", false, lmp), 1);
EXPECT_EQ(utils::logical(FLERR, "1", false, lmp), 1); EXPECT_EQ(utils::logical(FLERR, "1", false, lmp), 1);
EXPECT_EQ(utils::logical(FLERR, "no", false, lmp), 0); EXPECT_EQ(utils::logical(FLERR, "no", false, lmp), 0);
EXPECT_EQ(utils::logical(FLERR, "No", false, lmp), 0); EXPECT_EQ(utils::logical(FLERR, "false", false, lmp), 0);
EXPECT_EQ(utils::logical(FLERR, "NO", false, lmp), 0);
EXPECT_EQ(utils::logical(FLERR, "nO", false, lmp), 0);
EXPECT_EQ(utils::logical(FLERR, "off", false, lmp), 0); EXPECT_EQ(utils::logical(FLERR, "off", false, lmp), 0);
EXPECT_EQ(utils::logical(FLERR, "Off", false, lmp), 0);
EXPECT_EQ(utils::logical(FLERR, "OFF", false, lmp), 0);
EXPECT_EQ(utils::logical(FLERR, "OfF", false, lmp), 0);
EXPECT_EQ(utils::logical(FLERR, "0", false, lmp), 0); EXPECT_EQ(utils::logical(FLERR, "0", false, lmp), 0);
TEST_FAILURE(".*ERROR: Expected boolean parameter instead of.*",
utils::logical(FLERR, "YES", false, lmp););
TEST_FAILURE(".*ERROR: Expected boolean parameter instead of.*",
utils::logical(FLERR, "Yes", false, lmp););
TEST_FAILURE(".*ERROR: Expected boolean parameter instead of.*",
utils::logical(FLERR, "On", false, lmp););
TEST_FAILURE(".*ERROR: Expected boolean parameter instead of.*",
utils::logical(FLERR, "ON", false, lmp););
TEST_FAILURE(".*ERROR: Expected boolean parameter instead of.*",
utils::logical(FLERR, "TRUE", false, lmp););
TEST_FAILURE(".*ERROR: Expected boolean parameter instead of.*",
utils::logical(FLERR, "True", false, lmp););
TEST_FAILURE(".*ERROR: Expected boolean parameter instead of.*",
utils::logical(FLERR, "NO", false, lmp););
TEST_FAILURE(".*ERROR: Expected boolean parameter instead of.*",
utils::logical(FLERR, "No", false, lmp););
TEST_FAILURE(".*ERROR: Expected boolean parameter instead of.*",
utils::logical(FLERR, "Off", false, lmp););
TEST_FAILURE(".*ERROR: Expected boolean parameter instead of.*",
utils::logical(FLERR, "OFF", false, lmp););
TEST_FAILURE(".*ERROR: Expected boolean parameter instead of.*",
utils::logical(FLERR, "FALSE", false, lmp););
TEST_FAILURE(".*ERROR: Expected boolean parameter instead of.*",
utils::logical(FLERR, "False", false, lmp););
TEST_FAILURE(".*ERROR: Expected boolean parameter instead of.*", TEST_FAILURE(".*ERROR: Expected boolean parameter instead of.*",
utils::logical(FLERR, "yay", false, lmp);); utils::logical(FLERR, "yay", false, lmp););
TEST_FAILURE(".*ERROR: Expected boolean parameter instead of.*", TEST_FAILURE(".*ERROR: Expected boolean parameter instead of.*",