test_that("xml2 proxy generates useful comparisons", { expect_snapshot({ x1a <- xml2::read_xml("1") x1b <- xml2::read_xml("1") compare(x1a, x1b) x2 <- xml2::read_xml("2") compare(x1a, x2) }) }) test_that("POSIXlt comparison ignores balanced attribute", { # Simulate example from https://github.com/r-lib/waldo/issues/160 x1 <- x2 <- as.POSIXlt("2009-08-03 12:01:59", tz = "UTC") attr(x1, "balanced") <- TRUE attr(x2, "balanced") <- NULL expect_length(compare(x1, x2), 0) }) # don't Suggest RProtoBuf, so just mock the classes test_that("RProtoBuf proxy works", { x1 <- x2 <- list(toString = function(x) 1) # strengthen confidence by ensuring toString() is compared x1$a <- 2 x2$a <- 3 proto_methods <- c( "Message", "Descriptor", "EnumDescriptor", "FieldDescriptor", "ServiceDescriptor", "FileDescriptor", "EnumValueDescriptor", "MethodDescriptor" ) for (method in proto_methods) { class(x1) <- class(x2) <- method expect_identical(x1, x2) } })