tests/testthat/test-tidy_rname.R

# -*- Encoding:ASCII -*-

#########################
# Title : Test units for the function tidy_rname
# Created by Joris Muller the 2014-09-27
#########################

# import testthat package
library(testthat)

context("function tidy_rname")

test_that("Only accept character",{
  expect_error(tidy_rname(as.integer(1)))
})

test_that("ASCII switch work",{
  expect_equal(tidy_rname("éàèçA", lowercase = FALSE), "eaecA")
  expect_equal(tidy_rname("éàèç", ascii = FALSE), "éàèç")
})

test_that("Remove dots and multiple dots",{
  expect_equal(tidy_rname("dot.bla"), "dot_bla")
  expect_equal(tidy_rname("dot...bla"), "dot_bla")
  expect_equal(tidy_rname("dot.bla..."), "dot_bla")
  expect_equal(tidy_rname("...dot.bla..."), "dot_bla")
  expect_equal(tidy_rname("...dot....bla..."), "dot_bla")
})
# bad column names
bad_names <- c("white space", "multiples...dots..", "duplicate", "duplicate",
               "Spécial char", "looooooooognameeeeeeee")

test_that("shorten helper function", {
  expect_equal(shorten("looooooooognameeeeeeee"), "looooooooogn_eee")
})


good_names <- c("white_space", "multiples_dots", "duplicate","duplicate_1",
                "special_char","looooooooogn_eee")

test_that("Basic tidy_rname",{
  transformed_names <- tidy_rname(bad_names)
  expect_equal(transformed_names, good_names)
})
jomuller/vartors documentation built on May 19, 2019, 7:26 p.m.