tests/testthat/test_setting.R

context('changing defaults')

test_that('default<- modifies a local function', {

  foo <- function (a = 1) a
  default(foo) <- list(a = 2)
  expect_equal(foo(), 2)

})

test_that('default<- modifies a package function', {

  default(mean.default) <- list(na.rm = TRUE)
  expect_equal(mean(c(1, NA, 2)), 1.5)

})

test_that('local functions are reset', {

  foo <- function (a = 1) a
  default(foo) <- list(a = 2)
  foo <- reset_default(foo)
  expect_equal(foo(), 1)

})

test_that('package functions are reset', {

  default(mean.default) <- list(na.rm = TRUE)
  mean.default <- reset_default(mean.default)
  expect_equal(mean(c(1, NA, 2)),
               as.numeric(NA))

})

Try the default package in your browser

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

default documentation built on May 2, 2019, 11:19 a.m.