library(testthat) library(AutoEDA) #========================================================== # print.CategoricalSummary() #========================================================== test_that("print.CategoricalSummary works", { cs <- categorical_summary(iris) expect_no_error( print(cs) ) }) test_that("print.CategoricalSummary returns object invisibly", { cs <- categorical_summary(iris) x <- print(cs) expect_identical( x, cs ) }) test_that("print.CategoricalSummary works for empty summary", { cs <- structure( data.frame(), class = c( "CategoricalSummary", "data.frame" ) ) expect_no_error( print(cs) ) }) test_that("print.CategoricalSummary works with multiple categorical variables", { dat <- data.frame( A = factor(c("A","B","A","C")), B = factor(c("X","Y","X","Y")), stringsAsFactors = TRUE ) cs <- categorical_summary(dat) expect_no_error( print(cs) ) }) test_that("print.CategoricalSummary works with character variables", { dat <- data.frame( A = c("Dog","Cat","Dog","Bird"), stringsAsFactors = FALSE ) cs <- categorical_summary(dat) expect_no_error( print(cs) ) }) #========================================================== # Invalid input #========================================================== test_that("print.CategoricalSummary rejects invalid object", { expect_error( print.CategoricalSummary( iris ), "CategoricalSummary" ) }) test_that("print.CategoricalSummary rejects NULL", { expect_error( print.CategoricalSummary( NULL ), "CategoricalSummary" ) }) test_that("print.CategoricalSummary rejects numeric vector", { expect_error( print.CategoricalSummary( 1:10 ), "CategoricalSummary" ) }) test_that("print.CategoricalSummary rejects list", { expect_error( print.CategoricalSummary( list(a = 1) ), "CategoricalSummary" ) })