Nothing
library(testthat)
library(gcplyr)
test_that("make_design issues errors when expected for invalid pattern strings", {
expect_error(
make_design(nrows = 8, ncols = 12, lookup_tbl_start = "A",
"design_elem" = list(c("test1", "test2", "test3"),
2:4,
5:7,
"123")),
regexp = "Some values in pattern are not in lookup table. Check that you
have lookup_tbl_start correct and that you're only using
alphanumeric values")
expect_error(
make_design(nrows = 8, ncols = 12, pattern_split = ",",
"design_elem" = list(c("test1", "test2", "test3"),
2:4,
5:7,
"1,2,aa")),
regexp = "Pattern values are multi-character after splitting, but not all pattern values are numeric")
expect_error(
make_design(nrows = 8, ncols = 12, pattern_split = ",",
"design_elem" = list(c("test1", "test2", "test3"),
7:9,
5:7,
"1,2,3")),
regexp = "has rows or columns out of range")
expect_error(
make_design(nrows = 8, ncols = 12, pattern_split = ",",
"design_elem" = list(c("test1", "test2", "test3"),
2:4,
11:13,
"1,2,3")),
regexp = "has rows or columns out of range")
})
test_that("make_design works as expected for numerical pattern strings", {
expect_equal(
make_design(wellnames_sep = "",
nrows = 4, ncols = 4, colnames_first = TRUE,
"name" = list(c(1, "a", "hello"),
2:3, 2:4,
pattern = "122333")),
expected = data.frame(
Well = paste(rep(1:4, each = 4),
rep(LETTERS[1:4], 4), sep = ""),
name = c(NA, NA, NA, NA,
NA, "1", "hello", NA,
NA, "a", "hello", NA,
NA, "a", "hello", NA))
)
})
test_that("make_design works as expected for patterns that are vectors", {
expect_equal(
make_design(wellnames_sep = "",
nrows = 4, ncols = 4, colnames_first = TRUE,
"name" = list(c(1, "a", "hello"),
2:3, 2:4,
pattern = c(1, 2, 2, 3, 3, 3))),
expected = data.frame(
Well = paste(rep(1:4, each = 4),
rep(LETTERS[1:4], 4), sep = ""),
name = c(NA, NA, NA, NA,
NA, "1", "hello", NA,
NA, "a", "hello", NA,
NA, "a", "hello", NA))
)
})
test_that("make_design works with 0's in numerical pattern string", {
expect_equal(
make_design(wellnames_sep = "",
nrows = 4, ncols = 4, colnames_first = TRUE,
"name" = list(c(1, "a", "hello"),
2:3, 2:4,
pattern = "122033")),
expected = data.frame(
Well = paste(rep(1:4, each = 4),
rep(LETTERS[1:4], 4), sep = ""),
name = c(NA, NA, NA, NA,
NA, "1", NA, NA,
NA, "a", "hello", NA,
NA, "a", "hello", NA))
)
})
test_that("make_design works for multiple design elements", {
expect_equal(
make_design(wellnames_sep = "", nrows = 4, ncols = 4, colnames_first = TRUE,
"name" = list(c(1, "a", "hello"),
2:3, 2:4,
pattern = "122033"),
"name2" = list(c(1, "a", "hello"),
2:3, 2:4,
pattern = "233011")),
expected = data.frame(Well = paste(rep(1:4, each = 4),
rep(LETTERS[1:4], 4), sep = ""),
name = c(NA, NA, NA, NA,
NA, "1", NA, NA,
NA, "a", "hello", NA,
NA, "a", "hello", NA),
name2 = c(NA, NA, NA, NA,
NA, "a", NA, NA,
NA, "hello", 1, NA,
NA, "hello", 1, NA))
)
})
test_that("make_design works as expected for alpha pattern strings", {
expect_equal(
make_design(wellnames_sep = "",
nrows = 4, ncols = 4, colnames_first = TRUE,
lookup_tbl_start = "a",
"name" = list(c(1, "a", "hello"),
2:3, 2:4,
pattern = "abbccc")),
expected = data.frame(
Well = paste(rep(1:4, each = 4),
rep(LETTERS[1:4], 4), sep = ""),
name = c(NA, NA, NA, NA,
NA, "1", "hello", NA,
NA, "a", "hello", NA,
NA, "a", "hello", NA))
)
})
test_that("write_blocks works for output_format = 'single'", {
example_dfs_list <- rep(list(NA), 4)
for (i in 1:length(example_dfs_list)) {
example_dfs_list[[i]] <-
as.data.frame(matrix(as.character(i*(1:96)), nrow = 8, byrow = T))
}
my_blockcurves_allmetad <- rep(list(NA), length(example_dfs_list))
for (i in 1:length(my_blockcurves_allmetad)) {
my_blockcurves_allmetad[[i]] <-
list(data = example_dfs_list[[i]],
metadata = c(block_name = paste(formatC(i, width = 3, flag = "0"),
sep = ""),
type1 = example_dfs_list[[i]][8, 8],
type2 = example_dfs_list[[i]][4, 7]))
}
my_blockcurves_namesonly <- rep(list(NA), length(example_dfs_list))
for (i in 1:length(my_blockcurves_namesonly)) {
my_blockcurves_namesonly[[i]] <-
list(data = example_dfs_list[[i]],
metadata = c(block_name = paste(formatC(i, width = 3, flag = "0"),
sep = "")))
}
#For block_name_location = "file"
fil <- tempfile(fileext = ".csv")
write_blocks(blocks = my_blockcurves_allmetad, file = fil,
output_format = "single",
block_name_location = "file")
fil <- tempfile(fileext = ".csv")
write_blocks(blocks = my_blockcurves_namesonly, file = fil,
output_format = "single",
block_name_location = "file")
#For block_name_location = "filename"
fil <- tempfile(fileext = ".csv")
expect_warning(
write_blocks(blocks = my_blockcurves_allmetad, file = fil,
output_format = "single",
block_name_location = "filename"))
fil <- tempfile(fileext = ".csv")
expect_warning(
write_blocks(blocks = my_blockcurves_namesonly, file = fil,
output_format = "single",
block_name_location = "filename"))
})
test_that("write_blocks works for output_format = 'pasted'", {
example_dfs_list <- rep(list(NA), 4)
for (i in 1:length(example_dfs_list)) {
example_dfs_list[[i]] <-
as.data.frame(matrix(as.character(i*(1:96)), nrow = 8, byrow = T))
}
my_blockcurves_allmetad <- rep(list(NA), length(example_dfs_list))
for (i in 1:length(my_blockcurves_allmetad)) {
my_blockcurves_allmetad[[i]] <-
list(data = example_dfs_list[[i]],
metadata = c(block_name = paste(formatC(i, width = 3, flag = "0"),
sep = ""),
type1 = example_dfs_list[[i]][8, 8],
type2 = example_dfs_list[[i]][4, 7]))
}
my_blockcurves_namesonly <- rep(list(NA), length(example_dfs_list))
for (i in 1:length(my_blockcurves_namesonly)) {
my_blockcurves_namesonly[[i]] <-
list(data = example_dfs_list[[i]],
metadata = c(block_name = paste(formatC(i, width = 3, flag = "0"),
sep = "")))
}
#For block_name_location = "file"
fil <- tempfile(fileext = ".csv")
expect_no_error(write_blocks(blocks = my_blockcurves_allmetad, file = fil,
output_format = "pasted",
block_name_location = "file"))
fil <- tempfile(fileext = ".csv")
expect_no_error(write_blocks(blocks = my_blockcurves_namesonly, file = fil,
output_format = "pasted",
block_name_location = "file"))
#For block_name_location = "filename"
fil <- tempfile(fileext = ".csv")
expect_warning(write_blocks(blocks = my_blockcurves_allmetad, file = fil,
output_format = "pasted",
block_name_location = "filename"))
fil <- tempfile(fileext = ".csv")
expect_no_error(write_blocks(blocks = my_blockcurves_namesonly, file = fil,
output_format = "pasted",
block_name_location = "filename"))
})
test_that("write_blocks works for output_format = 'multiple'", {
example_dfs_list <- rep(list(NA), 4)
for (i in 1:length(example_dfs_list)) {
example_dfs_list[[i]] <-
as.data.frame(matrix(as.character(i*(1:96)), nrow = 8, byrow = T))
}
my_blockcurves_allmetad <- rep(list(NA), length(example_dfs_list))
for (i in 1:length(my_blockcurves_allmetad)) {
my_blockcurves_allmetad[[i]] <-
list(data = example_dfs_list[[i]],
metadata = c(block_name = paste(formatC(i, width = 3, flag = "0"),
sep = ""),
type1 = example_dfs_list[[i]][8, 8],
type2 = example_dfs_list[[i]][4, 7]))
}
my_blockcurves_namesonly <- rep(list(NA), length(example_dfs_list))
for (i in 1:length(my_blockcurves_namesonly)) {
my_blockcurves_namesonly[[i]] <-
list(data = example_dfs_list[[i]],
metadata = c(block_name = paste(formatC(i, width = 3, flag = "0"),
sep = "")))
}
#For block_name_location = "file"
fil <- tempfile(fileext = ".csv")
expect_warning(write_blocks(blocks = my_blockcurves_allmetad, file = fil,
output_format = "multiple",
block_name_location = "file"))
fil <- tempfile(fileext = ".csv")
expect_warning(write_blocks(blocks = my_blockcurves_namesonly, file = fil,
output_format = "multiple",
block_name_location = "file"))
#For block_name_location = "filename"
fil <- tempfile(fileext = ".csv")
expect_message(write_blocks(blocks = my_blockcurves_allmetad, file = fil,
output_format = "multiple",
block_name_location = "filename"))
fil <- tempfile(fileext = ".csv")
expect_no_error(write_blocks(blocks = my_blockcurves_namesonly, file = fil,
output_format = "multiple",
block_name_location = "filename"))
})
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.