This function is intended to be part of module code and will test whether
the value of a parameter within the current module matches the value of the
same parameter in other modules. This is a test for parameters that might expect
to be part of a params = list(.globals = list(someParam = "test"))
passed to simInit
.
paramCheckOtherMods(
sim,
paramToCheck,
moduleToUse = "all",
ifSetButDifferent = c("error", "warning", "message", "silent"),
verbose = getOption("reproducible.verbose")
)
If the value of the paramToCheck
in the current module is either NULL
or
"default"
, and there is only one other value across all modules named in moduleToUse
,
then this will return a character string with the value of the single parameter value
in the other module(s).
It will return the current value if there are no other modules with the same parameter.
A simList
object
A character string, length one, of a parameter name to check and compare between the current module and one or more or all others
A character vector of module names to check against. This can be
"all"
which will compare against all other modules.
A character string indicating whether to "error"
the default,
or send a "warning"
, message
or just silently continue (any other value).
Logical or Numeric, follows reproducible.verbose
value by default.
It is considered a "fail" under several conditions:
current module has a value that is not NULL
or "default"
and another module
has a different value;
there is more than one value for the paramToCheck
in the other modules,
so it is ambiguous which one to return.
Either the current module is different than other modules, unless it is "default" or NULL.