df1 <- data.frame(
name = c("Amy","Tony","Jessica"),
age = c(18,21,30),
hobby = c("lab","quiz","swim")
)
df2 <- data.frame()
df <- data.frame(
a = 1:4,
b = c('1', '2', '4', '3'),
c = c('a', 'b', 'c', 'c'),
d = c('01-05-2002', '02-05-2002',
'02-06-2002', '03-05-2002'),
e = c(01-05-2002, 02-05-2002,
02-06-2002, 03-05-2002),
f = c(1 , 2, 3, 4)
)
# test for the input type
test_that("The input should be a dataframe", {
expect_error(cat_unique_count( c("a", "b", "c")))
expect_error(cat_unique_count(45))
})
# test for empty data frame
test_that("The input dataframe is empty", {
expect_error(cat_unique_count(df2))
})
# test for data frame column names and values
test_that("Wrong ouput", {
expect_true(all.equal( c("feature name" , "unique count"), colnames(cat_unique_count(df1))))
expect_true(all.equal( c("name", "hobby"), as.character(cat_unique_count(df1)$"feature name")))
expect_true(all.equal( c(3, 3), as.numeric(cat_unique_count(df1)$"unique count")))
})
# test for test for data frame column names and values
test_that("The order of output dataframe is not correct", {
expect_true(all.equal( c("feature name" , "unique count"), colnames(cat_unique_count(df))))
expect_true(all.equal(c(4, 3), as.numeric(cat_unique_count(df)$"unique count")))
expect_true(all.equal(c('b', 'c'), as.character(cat_unique_count(df)$"feature name")))
})
# test for data frame shape
test_that("This is an unexpected dimension", {
expect_true(all.equal(2, ncol(cat_unique_count(df))))
expect_true(all.equal(2, nrow(cat_unique_count(df))))
expect_true(all.equal( c(2, 2), dim(cat_unique_count(df))))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.