tests/testthat/test-arrange_data.R

### .arrange_data_x

test_that(".arrange_data_x only takes a dataframe or a tibble as dataset", {
  x <- list(a = c(1, 2, 3, 2), b = c(3, 1, 6, 4))
  expect_error(.arrange_data_x(x, "a"))
})

test_that("argument x must be a character", {
  data <- head(mtcars)
  expect_error(.arrange_data_x(data, mpg))
  expect_silent(.arrange_data_x(data, "mpg"))
})

test_that(".arrange_data_x returns a dataframe", {
  data <- head(mtcars)
  x <- .arrange_data_x(data, "mpg")
  expect_s3_class(x, "data.frame")
})

test_that("argument reorder works", {

  ### output is different with or without reorder
  data <- head(mtcars)
  x <- .arrange_data_x(data, "mpg")
  y <- .arrange_data_x(data, "mpg", reorder = FALSE)
  expect_false(identical(x, y))

  ### if reorder is false, input = output
  expect_identical(data, y)
})

test_that(".arrange_data_x returns the same output as dplyr::arrange", {
  data <- head(mtcars)
  x <- .arrange_data_x(data, "mpg")
  y <- dplyr::arrange(data, mpg)
  expect_identical(x, y)
})
JohnCoene/echarts4 documentation built on Feb. 23, 2024, 9:18 a.m.