Example two-argument functions to compare direct or indirect effects
of two test descriptors (see P
and R
).
These can be passed as value_comparer
and sides_comparer
to E
.
ignore_differences(x, y)sides_similar(x, y)
Each comparer should yield TRUE
if the test condition
is considered met or anything else otherwise.
However, it is highly recommended that in the latter case,
a single string with a short
summary of the differences be returned, as in all.equal
.
prototype or part thereof
object under scrutiny or part thereof
Notable built-in (base R) comparers include identical
(the strictest possible)
and all.equal
(can ignore, amongst others,
round-off errors; note that it is an S3 generic).
ignore_differences
is a dummy comparer that always returns
TRUE
. Hence, it does not discriminate between anything.
sides_similar
is useful when comparing side effect lists.
It defines the following semantics for the prototypical values:
non-existent, NULL
, or FALSE
-- a side effect must
not occur,
NA
-- ignore whatsoever,
TRUE
-- a side effect occurs, but the details are irrelevant
(e.g., 'some warning' as opposed to "NaNs produced"
)
otherwise -- a character vector with message(s) matched exactly.
You can define any comparers of your own liking: the possibilities are endless. For example:
a comparer for side effects based on regular expressions
or wildcards (e.g., ".not converged.*"
),
a comparer that tests whether all elements in a vector are
equal to TRUE
,
a comparer that verifies whether each element in a vector falls into a specified interval,
a comparer that ignores all the object attributes (possibly in combination with other comparers),
and so forth.
The official online manual of realtest at https://realtest.gagolewski.com/