tests/testthat/test-subtract_T0.R

# Generate test data
test_data <- data.frame(
  Group = rep(LETTERS[1:3], each = 2),
  Experiment = rep(paste0("Exp", 1:3), each = 2),
  Position = rep(paste0(LETTERS[1:3], 1), each = 2),
  Value = c(5, 10, -3, 8, 8, 3),
  Timepoint = rep(paste0("T", 0:1), times = 3),
  Validity = c(rep("valid", 3), "invalid", rep("valid", 2))
)

test_that("subtract_T0() modifies data correctly", {
  
  # Call function
  modified_data <- subtract_T0(test_data)
  
  # Test case 1: Check if Timepoint "T0" rows are removed
  expect_false("T0" %in% modified_data$Timepoint)
  
  # Test case 2: Check if negative values are replaced with 0
  expect_equal(all(modified_data$Value >= 0), TRUE)
  
  # Test case 3: Check if rows with invalid Validity are filtered out
  expect_false("invalid" %in% modified_data$Validity)
  
  # Test case 4: Test modifying data with different grouping variables
  modified_data <- subtract_T0(test_data, grouping = c("Group", "Experiment"))
  
  # Test case 5: Check if the grouping variables are preserved
  expect_true(unique(c("Group", "Experiment") %in% names(modified_data)))
})

Try the microdiluteR package in your browser

Any scripts or data that you put into this service are public.

microdiluteR documentation built on June 22, 2024, 11:07 a.m.