tests/testthat/test-replace.R

context("replace")

test_that("replace", {

  expectEqual <- function(a, b) {
    testthat::expect_equal(a, b)
  }

  expectEqual(
    replace(c(1, 2, NA), ~ is.na(.), 3),
    1:3
  )

  expectEqual(
    replace(c(1, 2, NA), rep(TRUE, 3), 3),
    rep(3, 3)
  )

  expectEqual(
    replace(c(1, 2, NA), 3, 3),
    1:3
  )

  expectEqual(
    replace(list(x = 1, y = 2), "x", 0),
    list(x = 0, y = 2)
  )

  expectEqual(
    replace(list(x = 1, y = 2), "^x$", 0),
    list(x = 0, y = 2)
  )

  expectEqual(
    replace(list(x = 1, y = 2), ~ . == 1, 0),
    list(x = 0, y = 2)
  )

  expectEqual(
    replace(table(letters[1:2]), ~ . == 1, 2),
    table(rep(letters[1:2], 2))
  )

})

Try the dat package in your browser

Any scripts or data that you put into this service are public.

dat documentation built on July 1, 2020, 7:11 p.m.