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.95, NA, runif(nrow(iris))) describe("dt.mean.measured functionality", { it("calculates the proportion of measured values correctly", { measured_values <- dt.mean.measured( dt.name = "iris", the.variables = c("Sepal.Length", "noise"), grouping.variables = "Species" ) # Check if the result is a data.table expect_true(is.data.table(measured_values), info = "Should return a data.table") }) it("applies filters correctly", { filtered_measured_values <- dt.mean.measured( 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_measured_values), info = "Filtered result should be a data.table") }) })