Nothing
for (i in c(6, 12, 24, 48, 96, 384, 1536)) {
path <- paste0("testData/", i, "/")
################################################################################
context("testing add_plate-add_plate()")
################################################################################
n_letters <- ifelse(i <= 12, i, 24)
test_that("add_plate works for complete valid data", {
filename <- paste0(path, "allWellIds.csv")
complete <- data.frame(wells = get_well_ids(i), d = letters[1:n_letters], stringsAsFactors = FALSE)
result <- add_plate(complete, filename, "wells")
expect_that(result$values, is_identical_to(get_well_ids(i)))
expect_that(result$values, is_identical_to(result$wells))
})
test_that("add_plate works with reversed file and data arguments but gives warning", {
filename <- paste0(path, "allWellIds.csv")
complete <- data.frame(wells = get_well_ids(i), d = letters[1:n_letters], stringsAsFactors = FALSE)
expect_warning({
result <- add_plate(filename, complete, "wells")
expect_that(result$values, is_identical_to(get_well_ids(i)))
expect_that(result$values, is_identical_to(result$wells))
}, "reversed")
})
test_that("add_plate works without leading zeroes", {
filename <- paste0(path, "allWellIds.csv")
complete <- data.frame(wells = get_well_ids_without_leading_zeroes(i),
d = letters[1:n_letters], stringsAsFactors = FALSE)
result <- add_plate(complete, filename, "wells")
expect_that(result$wells,
is_identical_to(get_well_ids_without_leading_zeroes(i)))
expect_that(remove_leading_zeroes(result$values), is_identical_to(result$wells))
})
test_that("add_plate works for missing data from plate", {
filename <- paste0(path, "wellIdsAndEmptyWells.csv")
complete <- data.frame(wells = get_well_ids(i), d = letters[1:n_letters], stringsAsFactors = FALSE)
result <- add_plate(complete, filename, "wells")
expect_that(result$wells, is_identical_to(get_well_ids(i)))
r <- is.na(result$values) | result$values == as.character(result$wells)
expect_true(all(r))
})
test_that(paste("add_plate works for missing data from",
"plate and no leading zeroes"), {
filename <- paste0(path, "wellIdsAndEmptyWells.csv")
complete <- data.frame(wells = get_well_ids_without_leading_zeroes(i),
d = letters[1:n_letters], stringsAsFactors = FALSE)
result <- add_plate(complete, filename, "wells")
expect_that(result$wells,
is_identical_to(get_well_ids_without_leading_zeroes(i)))
result$values <- remove_leading_zeroes(result$values)
r <- is.na(result$values) | result$values == as.character(result$wells)
expect_true(all(r))
})
test_that("add_plate works when plate layout contains wells missing from data and gets order right (rows missing from data at end)", {
filename <- paste0(path, "allWellIds.csv")
complete <- data.frame(wells = get_well_ids(i), d = letters[1:n_letters], stringsAsFactors = FALSE)
result <- add_plate(complete[2:i, ], filename, "wells")
# missing row from data = well A01, so should be added at end by add_plate
expected <- rbind(complete[2:i, ], data.frame(wells = "A01", d = NA, stringsAsFactors = FALSE))
expected$values <- expected$wells
expect_that(result, is_equivalent_to(expected))
})
test_that(paste("add_plate stops if some wells are missing",
"leading zeroes and some aren't"), {
filename <- paste0(path, "allWellIds.csv")
complete <- data.frame(wells = get_well_ids(i), d = letters[1:n_letters], stringsAsFactors = FALSE)
set.seed(10)
complete$wells <- ifelse(rnorm(i) < 0,
remove_leading_zeroes(complete$wells),
complete$wells)
expect_that(add_plate(complete, filename, "wells"), throws_error())
})
test_that("add_plate works with one full plate and one partially empty", {
filename <- paste0(path, "oneFullOnePartEmpty.csv")
complete <- data.frame(wells = get_well_ids(i), d = letters[1:n_letters],
stringsAsFactors = FALSE)
result <- add_plate(complete, filename, "wells")
expect_that(result$full, is_identical_to(get_well_ids(i)))
expect_that(result$full, is_identical_to(result$wells))
r <- is.na(result$partial) | result$partial == as.character(result$wells)
expect_true(all(r))
})
test_that("add_plate works for complete valid data", {
filename <- paste0(path, "allWellIds.csv")
complete <- data.frame(wells = get_well_ids(i), d = letters[1:n_letters], stringsAsFactors = FALSE)
result <- add_plate(complete, filename, "wells")
expect_is(result, "tbl_df")
})
test_that("add_plate works for plate with single element with full plate df", {
filename <- paste0(path, "oneWell.csv")
complete <- data.frame(wells = get_well_ids(i), d = letters[1:n_letters], stringsAsFactors = FALSE)
result <- add_plate(complete, filename, "wells")
expect_that(result$wells, is_identical_to(get_well_ids(i)))
r <- is.na(result$values) | result$values == "singleton"
expect_true(all(r))
})
test_that("add_plate works for plate with single element with single well df", {
filename <- paste0(path, "oneWell.csv")
complete <- data.frame(wells = "A01", d = "A", stringsAsFactors = FALSE)
result <- add_plate(complete, filename, "wells")
expect_that(result$wells, is_identical_to("A01"))
expect_that(result$values, is_identical_to("singleton"))
})
################################################################################
context("testing add_plate-wrong_wells_error_message()")
################################################################################
test_that("wrong_wells_error_message returns correct message with 1 well missing", {
filename <- paste0(path, "allWellIds.csv")
complete <- data.frame(wells = get_well_ids(i), d = letters[1:n_letters], stringsAsFactors = FALSE)
annotations <- read_plate(filename, "wellIds")
annotations <- annotations[!(is.na(annotations$values)), ]
message <- wrong_wells_error_message(complete[1:(i-1), ], "wells", annotations)
missing <- get_well_ids(i)[i] # get last well
expected <- paste0("Some wells in your file are not in the data frame ",
"you provided, but they all should be. The missing wells are: ",
missing, ".")
expect_that(message, is_identical_to(expected))
})
test_that("wrong_wells_error_message returns correct message with 2 wells missing", {
filename <- paste0(path, "allWellIds.csv")
complete <- data.frame(wells = get_well_ids(i), d = letters[1:n_letters], stringsAsFactors = FALSE)
annotations <- read_plate(filename, "wellIds")
annotations <- annotations[!(is.na(annotations$values)), ]
message <- wrong_wells_error_message(complete[1:(i-2), ], "wells", annotations)
missing <- get_well_ids(i)[(i-1):i] # get last two wells
missing <- paste0(missing, collapse = ", ")
expected <- paste0("Some wells in your file are not in the data frame ",
"you provided, but they all should be. The missing wells are: ",
missing, ".")
expect_that(message, is_identical_to(expected))
})
test_that("wrong_wells_error_message returns correct message with all but 1 well missing", {
filename <- paste0(path, "allWellIds.csv")
complete <- data.frame(wells = get_well_ids(i), d = letters[1:n_letters], stringsAsFactors = FALSE)
annotations <- read_plate(filename, "wellIds")
annotations <- annotations[!(is.na(annotations$values)), ]
message <- wrong_wells_error_message(complete[1, ], "wells", annotations)
missing <- get_well_ids(i)[-1] # get all but first
missing <- paste0(missing, collapse = ", ")
expected <- paste0("Some wells in your file are not in the data frame ",
"you provided, but they all should be. The missing wells are: ",
missing, ".")
expect_that(message, is_identical_to(expected))
})
test_that("wrong_wells_error_message errors with valid input", {
filename <- paste0(path, "allWellIds.csv")
complete <- data.frame(wells = get_well_ids(i), d = letters[1:n_letters], stringsAsFactors = FALSE)
complete$d <- as.character(complete$d)
annotations <- read_plate(filename, "wellIds")
annotations <- annotations[!(is.na(annotations$values)), ]
expect_that(wrong_wells_error_message(complete, "wells", annotations),
throws_error())
})
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.