library(testthat) library(data.table) library(DTwrappers2) # Prepare the iris dataset data("iris") setDT(iris) # Adding a column with missing values for testing iris$noise <- ifelse(runif(nrow(iris)) > 0.98, NA, runif(nrow(iris))) describe("dt.mean.missing functionality", { it("calculates the proportion of missing values correctly", { missing_values <- dt.mean.missing( dt.name = "iris", the.variables = c("Sepal.Length", "noise") ) # Check if the result is a data.table expect_true(is.data.table(missing_values), info = "Should return a data.table") }) it("applies filters and grouping correctly", { filtered_grouped_missing_values <- dt.mean.missing( dt.name = "iris", the.variables = c("noise", "Sepal.Width"), the.filter = "Sepal.Length > 4 & Sepal.Length < 6", grouping.variables = "Species" ) # Check if the result is a data.table expect_true(is.data.table(filtered_grouped_missing_values), info = "Filtered and grouped result should be a data.table") }) })