Nothing
## Test functions that create lists from character vectors of colon-separated
## values.
# expect_identical lists to have the same order
expect_nearly_identical <- function(x, y, ...) {
expect_identical(sort_names(x), sort_names(y), ...)
}
sort_names <- function(x) x[sort(names(x))]
context("EprimeFrame")
test_that("Default values", {
# Empty EprimeFrame
default_list <- structure(list(
Eprime.LevelName = NA,
Eprime.Level = NA,
Eprime.Basename = NA,
Eprime.FrameNumber = NA,
Procedure = NA,
Running = NA), class = c("EprimeFrame", "list"))
expect_nearly_identical(as.EprimeFrame(list()), default_list)
# It's not possible to have an NA Eprime.Level when constructing from a
# character vector
default_character <- default_list
default_character$Eprime.Level <- 1
expect_nearly_identical(EprimeFrame(character()), default_character)
})
test_that("Simple construction", {
test_values <- c(
"key: value",
"question: answer",
"garbage text")
expected_list <- structure(list(
Eprime.LevelName = NA,
Eprime.Level = 1,
Eprime.Basename = NA,
Eprime.FrameNumber = NA,
Procedure = NA,
Running = NA,
key = "value",
question = "answer"), class = c("EprimeFrame", "list"))
expect_nearly_identical(EprimeFrame(test_values), expected_list)
})
test_that("Running-related values are normalized", {
keys_values <- c(
"Running: Demo",
"Demo: ExampleCode",
"Demo.Cycle: 1",
"Demo.Sample: 1",
"Key: Value")
normalized_running <- structure(list(
Eprime.Level = 1,
Eprime.LevelName = "Demo_ExampleCode",
Eprime.Basename = NA,
Eprime.FrameNumber = NA,
Procedure = NA,
Running = "Demo",
Cycle = "1",
Sample = "1",
Key = "Value"), class = c("EprimeFrame", "list"))
expect_nearly_identical(EprimeFrame(keys_values), normalized_running)
})
test_that("listify handles typical data", {
example_lines <- c(
"\t*** LogFrame Start ***",
"\tProcedure: PracticeProc",
"\tStimulus1: toothbrush",
"\t*** LogFrame End ***")
expected_example <- list(
Procedure = "PracticeProc",
Stimulus1 = "toothbrush")
expect_identical(listify(example_lines), expected_example)
})
test_that("listify handles garbage values", {
garbage_lines <- c("", NA,
"\t*** LogFrame Start ***",
"*** LogFrame End ***")
usable_lines <- c(
"Item: 1",
"\tWhiteSpaceItem: Stuff ",
"AnotherItem: Two Colons: Yes",
"NoValue: ",
"Last Item: Whatever")
expected <- list(
Item = "1",
WhiteSpaceItem = "Stuff",
AnotherItem = "Two Colons: Yes",
NoValue = "",
`Last Item` = "Whatever")
expect_identical(listify(c(garbage_lines, usable_lines)), expected)
})
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.