A minimal set of predicates and assertions used by assertive, for package developers who want to include run-time testing features in their own packages. Most of the documentation is on the assertive page. End-users will usually want to use assertive directly.
To install the stable version, type:
install.packages("assertive.base")
To install the development version, you first need the devtools package.
install.packages("devtools")
Then you can install the assertive.base package using
library(devtools)
install_bitbucket("richierocks/assertive.base")
There are six functions that accept (expressions resolving to) logical vectors, and return logical vectors:
is_true
returns a logical vector that is TRUE
when the input is TRUE
(x & !is.na(x)
).
is_false
returns a logical vector that is TRUE
when the input is FALSE
(!x & !is.na(x)
).
is_na
returns a logical vector that is TRUE
when the input is NA
(a wrapper to is.na(x)
).
...and their negations:
is_not_true
returns a logical vector that is TRUE
when the input is FALSE
or NA
(x | is.na(x)
).
is_not_false
returns a logical vector that is TRUE
when the input is TRUE
or NA
(!x | is.na(x)
).
is_not_na
returns a logical vector that is TRUE
when the input is TRUE
or FALSE
(!is.na(x)
).
There are four functions that return single logical values:
is_identical_to_true
returns TRUE
is effectively identical(x, TRUE)
(like
isTRUE
), but it lets you choose whether or not attributes are allowed on x
.
is_identical_to_false
and is_identical_to_na
works similarly with FALSE
and NA
.
are_identical
wraps base::identical
, checking if two expressions return the
same thing.
Predicates that return a vector have two corresponding assertions. For example,
is_true
has assert_all_are_true
and assert_any_are_true
.
Predicates returning a single logical value have one corresponding assertion.
For example, is_identical_to_true
has assert_is_identical_to_true
.
use_first
takes the first value of a vector, warning you if it one longer than
length one.
coerce_to
is a wrapper to as
, changing an object's type with a warning.
get_name_in_parent
gets the name of a variable in the parent environment
(stopping you have to remember deparse(substitute())
arcana).
strip_attributes
strips the attributes from an object.
merge_dots_with_list
merges the contents of ...
with a list argument, to
allow users to pass arguments to your function in either form.
dont_stop
runs code without stopping at errors, which is useful for
demonstrating errors in examples.
parenthesise
wraps a string in parentheses.
bapply
is a wraps vapply
, always returning a logical vector.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.