Learn R Programming

testthat (version 0.11.0)

compare: Provide human-readable comparison of two objects

Description

compare is similar to all.equal(), but shows you examples of where the failures occured.

Usage

compare(x, y, ...)

## S3 method for class 'default': compare(x, y, ...)

## S3 method for class 'character': compare(x, y, ..., max_diffs = 5, max_lines = 5, width = getOption("width"))

## S3 method for class 'numeric': compare(x, y, ..., max_diffs = 10)

Arguments

x,y
Objects to compare
...
Additional arguments used to control specifics of comparison
max_diffs
Maximum number of differences to show
max_lines
Maximum number of lines to show from each difference
width
Width of output device

Examples

Run this code
# Character -----------------------------------------------------------------
x <- c("abc", "def", "jih")
compare(x, x)

y <- paste0(x, "y")
compare(x, y)

compare(letters, paste0(letters, "-"))

x <- "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis cursus
 tincidunt auctor. Vestibulum ac metus bibendum, facilisis nisi non, pulvinar
 dolor. Donec pretium iaculis nulla, ut interdum sapien ultricies a. "
y <- "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis cursus
 tincidunt auctor. Vestibulum ac metus1 bibendum, facilisis nisi non, pulvinar
 dolor. Donec pretium iaculis nulla, ut interdum sapien ultricies a. "
compare(x, y)
compare(c(x, x), c(y, y))
# Numeric -------------------------------------------------------------------

x <- y <- runif(100)
y[sample(100, 10)] <- 5
compare(x, y)

x <- y <- 1:10
x[5] <- NA
x[6] <- 6.5
compare(x, y)

# Compare ignores minor numeric differences in the same way
# as all.equal.
compare(x, x + 1e-9)

Run the code above in your browser using DataLab