before <- rnorm(500, 25, 5) %>%
round(2) %>%
restore_zeros(width = 2)
inside <- rnorm(500, 25, 5) %>%
round(2) %>%
restore_zeros(width = 2)
x_parens <- paste0(before, " (", inside, ")")
x_brackets <- x_parens %>%
stringr::str_replace("\\(", "[") %>%
stringr::str_replace("\\)", "]")
x_braces <- x_parens %>%
stringr::str_replace("\\(", "{") %>%
stringr::str_replace("\\)", "}")
test_that("With parentheses, substrings are extracted
from the expected positions", {
x_parens %>% before_parens(sep = "parens") %>% expect_equal(before)
x_parens %>% inside_parens(sep = "parens") %>% expect_equal(inside)
})
test_that("With parentheses, the separators are removed", {
x_parens %>% before_parens(sep = "parens") %>% stringr::str_detect("\\(") %>% any() %>% expect_false()
x_parens %>% inside_parens(sep = "parens") %>% stringr::str_detect("\\(") %>% any() %>% expect_false()
x_parens %>% before_parens(sep = "parens") %>% stringr::str_detect("\\)") %>% any() %>% expect_false()
x_parens %>% inside_parens(sep = "parens") %>% stringr::str_detect("\\)") %>% any() %>% expect_false()
})
test_that("With square brackets, substrings are extracted
from the expected positions", {
x_brackets %>% before_parens(sep = "brackets") %>% expect_equal(before)
x_brackets %>% inside_parens(sep = "brackets") %>% expect_equal(inside)
})
test_that("With square brackets, the separators are removed", {
x_brackets %>% before_parens(sep = "brackets") %>% stringr::str_detect("\\[") %>% any() %>% expect_false()
x_brackets %>% inside_parens(sep = "brackets") %>% stringr::str_detect("\\[") %>% any() %>% expect_false()
x_brackets %>% before_parens(sep = "brackets") %>% stringr::str_detect("\\]") %>% any() %>% expect_false()
x_brackets %>% inside_parens(sep = "brackets") %>% stringr::str_detect("\\]") %>% any() %>% expect_false()
})
test_that("With curly braces, substrings are extracted
from the expected positions", {
x_braces %>% before_parens(sep = "braces") %>% expect_equal(before)
x_braces %>% inside_parens(sep = "braces") %>% expect_equal(inside)
})
test_that("With curly braces, the separators are removed", {
x_braces %>% before_parens(sep = "braces") %>% stringr::str_detect("\\{") %>% any() %>% expect_false()
x_braces %>% inside_parens(sep = "braces") %>% stringr::str_detect("\\{") %>% any() %>% expect_false()
x_braces %>% before_parens(sep = "braces") %>% stringr::str_detect("\\}") %>% any() %>% expect_false()
x_braces %>% inside_parens(sep = "braces") %>% stringr::str_detect("\\}") %>% any() %>% expect_false()
})
x_parens_proto <- proto_split_parens(x_parens, sep = "parens")
x_brackets_proto <- proto_split_parens(x_brackets, sep = "brackets")
x_braces_proto <- proto_split_parens(x_braces, sep = "braces")
test_that("The raw list elements all have length 2", {
x_parens_proto %>% purrr::map_int(length) %>% expect_setequal(2)
x_brackets_proto %>% purrr::map_int(length) %>% expect_setequal(2)
x_braces_proto %>% purrr::map_int(length) %>% expect_setequal(2)
})
test_that("Wrong `sep` specifications trigger an error", {
x_parens %>% proto_split_parens(sep = "briquets") %>% expect_error()
x_brackets %>% proto_split_parens(sep = "briquets") %>% expect_error()
x_braces %>% proto_split_parens(sep = "briquets") %>% expect_error()
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.