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/