assertive.code
A set of predicates and assertions for checking the properties of code. Most of the documentation is on the assertive page. End-users will usually want to use assertive directly.
Installation
To install the stable version, type:
install.packages("assertive.code")
To install the development version, you first need the devtools package.
install.packages("devtools")
Then you can install the assertive.code package using
library(devtools)
install_bitbucket("richierocks/assertive.code")
Predicates
is_binding_locked
checks to see if a variable has had its binding locked (that is, has been made read-only).
is_debugged
checks to see if a function has a debugging flag set on it.
is_error_free
, wraps try
, running the code and returning TRUE
if no error was thrown. (The results of running the code are also returned in an attribute.)
is_existing
checks to see if a variable exists in a given environment.
is_if_condition
checks if a variable is suitable for use as an if condition (that is, it is TRUE
or FALSE
).
is_loaded
checks whether or not a DLL (shared object) has been loaded.
is_valid_r_code
checks whether a string is valid (parseable) R code.
is_valid_variable_name
checks whether a string is a valid R variable name.
Assertions
Predicates that return a vector have two corresponding assertions. For example,
is_valid_variable_name
has assert_all_are_valid_variable_names
and assert_any_are_valid_variable_names
.
Predicates returning a single logical value have one corresponding assertion.
For example, is_debugged
has assert_is_debugged
.