Nothing
al <- action_levels(stop_at = 1)
test_that("The `cols_schema_match()` function works with an agent", {
# [#1] Check that a user-defined schema works in the most
# stringent case of `col_schema_match()`
agent_1 <-
create_agent(
tbl = small_table,
actions = al
) %>%
col_schema_match(
schema = col_schema(
date_time = c("POSIXct", "POSIXt"),
date = "Date",
a = "integer",
b = "character",
c = "numeric",
d = "numeric",
e = "logical",
f = "character"
)
) %>%
interrogate()
expect_true(is_ptblank_agent(agent_1))
expect_true(has_agent_intel(agent_1))
expect_true(all_passed(agent_1))
# [#2] Check that a schema based on a table works
# in the most stringent case of `col_schema_match()`
agent_2 <-
create_agent(
tbl = small_table,
actions = al
) %>%
col_schema_match(
schema = col_schema(.tbl = small_table)
) %>%
interrogate()
expect_true(is_ptblank_agent(agent_2))
expect_true(has_agent_intel(agent_2))
expect_true(all_passed(agent_2))
# [#3] Check that a user-defined schema (incomplete)
# works with `complete = FALSE`
agent_3 <-
create_agent(
tbl = small_table,
actions = al
) %>%
col_schema_match(
schema = col_schema(
a = "integer",
b = "character",
c = "numeric",
d = "numeric"
),
complete = FALSE
) %>%
interrogate()
expect_true(is_ptblank_agent(agent_3))
expect_true(has_agent_intel(agent_3))
expect_true(all_passed(agent_3))
# [#4] Check that a user-defined schema (incomplete)
# doesn't work when `complete = TRUE` (the default)
agent_4 <-
create_agent(
tbl = small_table,
actions = al
) %>%
col_schema_match(
schema = col_schema(
a = "integer",
b = "character",
c = "numeric",
d = "numeric"
)
) %>%
interrogate()
expect_true(is_ptblank_agent(agent_4))
expect_true(has_agent_intel(agent_4))
expect_false(all_passed(agent_4))
# [#5] Check that a user-defined schema works with
# out-of-order column definitions when `in_order = FALSE`
agent_5 <-
create_agent(
tbl = small_table,
actions = al
) %>%
col_schema_match(
schema = col_schema(
date = "Date",
date_time = c("POSIXct", "POSIXt"),
a = "integer",
c = "numeric",
b = "character",
d = "numeric",
f = "character",
e = "logical"
),
in_order = FALSE
) %>%
interrogate()
expect_true(is_ptblank_agent(agent_5))
expect_true(has_agent_intel(agent_5))
expect_true(all_passed(agent_5))
# [#6] Check that a user-defined schema works does not
# work with an out-of-order column definition
# when `in_order = TRUE` (the default)
agent_6 <-
create_agent(
tbl = small_table,
actions = al
) %>%
col_schema_match(
schema = col_schema(
date = "Date",
date_time = c("POSIXct", "POSIXt"),
a = "integer",
c = "numeric",
b = "character",
d = "numeric",
f = "character",
e = "logical"
)
) %>%
interrogate()
expect_true(is_ptblank_agent(agent_6))
expect_true(has_agent_intel(agent_6))
expect_false(all_passed(agent_6))
# [#7] Check that a user-defined schema works with
# less defined or not defined column types when
# `is_exact = FALSE`
agent_7 <-
create_agent(
tbl = small_table,
actions = al
) %>%
col_schema_match(
schema = col_schema(
date_time = "POSIXt",
date = "Date",
a = "integer",
b = "character",
c = "numeric",
d = NULL,
e = "logical",
f = NULL
),
is_exact = FALSE
) %>%
interrogate()
expect_true(is_ptblank_agent(agent_7))
expect_true(has_agent_intel(agent_7))
expect_true(all_passed(agent_7))
# [#8] Check that a user-defined schema does not
# work with less defined or not defined column
# types when `is_exact = TRUE` (the default)
agent_8 <-
create_agent(
tbl = small_table,
actions = al
) %>%
col_schema_match(
schema = col_schema(
date_time = "POSIXt",
date = "Date",
a = "integer",
b = "character",
c = "numeric",
d = NULL,
e = "logical",
f = NULL
)
) %>%
interrogate()
expect_true(is_ptblank_agent(agent_8))
expect_true(has_agent_intel(agent_8))
expect_false(all_passed(agent_8))
# [#9] Check where two stringency options are
# `FALSE`: `complete` and `in_order`
agent_9 <-
create_agent(
tbl = small_table,
actions = al
) %>%
col_schema_match(
schema = col_schema(
date = "Date",
date_time = c("POSIXct", "POSIXt"),
c = "numeric",
b = "character",
d = "numeric",
e = "logical"
),
complete = FALSE,
in_order = FALSE
) %>%
interrogate()
expect_true(is_ptblank_agent(agent_9))
expect_true(has_agent_intel(agent_9))
expect_true(all_passed(agent_9))
# [#10] Check where two stringency options are
# `FALSE`: `complete` and `is_exact`
agent_10 <-
create_agent(
tbl = small_table,
actions = al
) %>%
col_schema_match(
schema = col_schema(
date_time = "POSIXt",
date = "Date",
a = "integer",
b = NULL,
c = "numeric",
d = "numeric"
),
complete = FALSE,
is_exact = FALSE
) %>%
interrogate()
expect_true(is_ptblank_agent(agent_10))
expect_true(has_agent_intel(agent_10))
expect_true(all_passed(agent_10))
# [#11] Check where two stringency options are
# `FALSE`: `in_order` and `is_exact`
agent_11 <-
create_agent(
tbl = small_table,
actions = al
) %>%
col_schema_match(
schema = col_schema(
date_time = "POSIXct",
date = "Date",
a = NULL,
b = NULL,
d = "numeric",
c = "numeric",
f = "character",
e = "logical"
),
in_order = FALSE,
is_exact = FALSE
) %>%
interrogate()
expect_true(is_ptblank_agent(agent_11))
expect_true(has_agent_intel(agent_11))
expect_true(all_passed(agent_11))
# [#12] Check where all three stringency options
# are `FALSE`
agent_12 <-
create_agent(
tbl = small_table,
actions = al
) %>%
col_schema_match(
schema = col_schema(
date_time = "POSIXct",
date = "Date",
a = NULL,
b = NULL,
f = "character",
e = "logical"
),
complete = FALSE,
in_order = FALSE,
is_exact = FALSE
) %>%
interrogate()
expect_true(is_ptblank_agent(agent_12))
expect_true(has_agent_intel(agent_12))
expect_true(all_passed(agent_12))
})
test_that("The `expect_cols_schema_match()` function works", {
# [#1] Check that a user-defined schema works in the most
# stringent case of `col_schema_match()`
expect_success(
small_table %>%
expect_col_schema_match(
schema = col_schema(
date_time = c("POSIXct", "POSIXt"),
date = "Date",
a = "integer",
b = "character",
c = "numeric",
d = "numeric",
e = "logical",
f = "character"
)
)
)
# [#2] Check that a schema based on a table works
# in the most stringent case of `col_schema_match()`
expect_success(
small_table %>%
expect_col_schema_match(
schema = col_schema(.tbl = small_table)
)
)
# [#3] Check that a user-defined schema (incomplete)
# works with `complete = FALSE`
expect_success(
small_table %>%
expect_col_schema_match(
schema = col_schema(
a = "integer",
b = "character",
c = "numeric",
d = "numeric"
),
complete = FALSE
)
)
# [#4] Check that a user-defined schema (incomplete)
# doesn't work when `complete = TRUE` (the default)
expect_failure(
small_table %>%
expect_col_schema_match(
schema = col_schema(
a = "integer",
b = "character",
c = "numeric",
d = "numeric"
)
)
)
# [#5] Check that a user-defined schema works with
# out-of-order column definitions when `in_order = FALSE`
expect_success(
small_table %>%
expect_col_schema_match(
schema = col_schema(
date = "Date",
date_time = c("POSIXct", "POSIXt"),
a = "integer",
c = "numeric",
b = "character",
d = "numeric",
f = "character",
e = "logical"
),
in_order = FALSE
)
)
# [#6] Check that a user-defined schema works does not
# work with an out-of-order column definition
# when `in_order = TRUE` (the default)
expect_failure(
small_table %>%
expect_col_schema_match(
schema = col_schema(
date = "Date",
date_time = c("POSIXct", "POSIXt"),
a = "integer",
c = "numeric",
b = "character",
d = "numeric",
f = "character",
e = "logical"
)
)
)
# [#7] Check that a user-defined schema works with
# less defined or not defined column types when
# `is_exact = FALSE`
expect_success(
small_table %>%
expect_col_schema_match(
schema = col_schema(
date_time = "POSIXt",
date = "Date",
a = "integer",
b = "character",
c = "numeric",
d = NULL,
e = "logical",
f = NULL
),
is_exact = FALSE
)
)
# [#8] Check that a user-defined schema does not
# work with less defined or not defined column
# types when `is_exact = TRUE` (the default)
expect_failure(
small_table %>%
expect_col_schema_match(
schema = col_schema(
date_time = "POSIXt",
date = "Date",
a = "integer",
b = "character",
c = "numeric",
d = NULL,
e = "logical",
f = NULL
)
)
)
# [#9] Check where two stringency options are
# `FALSE`: `complete` and `in_order`
expect_success(
small_table %>%
expect_col_schema_match(
schema = col_schema(
date = "Date",
date_time = c("POSIXct", "POSIXt"),
c = "numeric",
b = "character",
d = "numeric",
e = "logical"
),
complete = FALSE,
in_order = FALSE
)
)
# [#10] Check where two stringency options are
# `FALSE`: `complete` and `is_exact`
expect_success(
small_table %>%
expect_col_schema_match(
schema = col_schema(
date_time = "POSIXt",
date = "Date",
a = "integer",
b = NULL,
c = "numeric",
d = "numeric"
),
complete = FALSE,
is_exact = FALSE
)
)
# [#11] Check where two stringency options are
# `FALSE`: `in_order` and `is_exact`
expect_success(
small_table %>%
expect_col_schema_match(
schema = col_schema(
date_time = "POSIXct",
date = "Date",
a = NULL,
b = NULL,
d = "numeric",
c = "numeric",
f = "character",
e = "logical"
),
in_order = FALSE,
is_exact = FALSE
)
)
# [#12] Check where all three stringency options
# are `FALSE`
expect_success(
small_table %>%
expect_col_schema_match(
schema = col_schema(
date_time = "POSIXct",
date = "Date",
a = NULL,
b = NULL,
f = "character",
e = "logical"
),
complete = FALSE,
in_order = FALSE,
is_exact = FALSE
)
)
})
test_that("The `test_cols_schema_match()` function works", {
# [#1] Check that a user-defined schema works in the most
# stringent case of `col_schema_match()`
expect_true(
small_table %>%
test_col_schema_match(
schema = col_schema(
date_time = c("POSIXct", "POSIXt"),
date = "Date",
a = "integer",
b = "character",
c = "numeric",
d = "numeric",
e = "logical",
f = "character"
)
)
)
# [#2] Check that a schema based on a table works
# in the most stringent case of `col_schema_match()`
expect_true(
small_table %>%
test_col_schema_match(
schema = col_schema(.tbl = small_table)
)
)
# [#3] Check that a user-defined schema (incomplete)
# works with `complete = FALSE`
expect_true(
small_table %>%
test_col_schema_match(
schema = col_schema(
a = "integer",
b = "character",
c = "numeric",
d = "numeric"
),
complete = FALSE
)
)
# [#4] Check that a user-defined schema (incomplete)
# doesn't work when `complete = TRUE` (the default)
expect_false(
small_table %>%
test_col_schema_match(
schema = col_schema(
a = "integer",
b = "character",
c = "numeric",
d = "numeric"
)
)
)
# [#5] Check that a user-defined schema works with
# out-of-order column definitions when `in_order = FALSE`
expect_true(
small_table %>%
test_col_schema_match(
schema = col_schema(
date = "Date",
date_time = c("POSIXct", "POSIXt"),
a = "integer",
c = "numeric",
b = "character",
d = "numeric",
f = "character",
e = "logical"
),
in_order = FALSE
)
)
# [#6] Check that a user-defined schema works does not
# work with an out-of-order column definition
# when `in_order = TRUE` (the default)
expect_false(
small_table %>%
test_col_schema_match(
schema = col_schema(
date = "Date",
date_time = c("POSIXct", "POSIXt"),
a = "integer",
c = "numeric",
b = "character",
d = "numeric",
f = "character",
e = "logical"
)
)
)
# [#7] Check that a user-defined schema works with
# less defined or not defined column types when
# `is_exact = FALSE`
expect_true(
small_table %>%
test_col_schema_match(
schema = col_schema(
date_time = "POSIXt",
date = "Date",
a = "integer",
b = "character",
c = "numeric",
d = NULL,
e = "logical",
f = NULL
),
is_exact = FALSE
)
)
# [#8] Check that a user-defined schema does not
# work with less defined or not defined column
# types when `is_exact = TRUE` (the default)
expect_false(
small_table %>%
test_col_schema_match(
schema = col_schema(
date_time = "POSIXt",
date = "Date",
a = "integer",
b = "character",
c = "numeric",
d = NULL,
e = "logical",
f = NULL
)
)
)
# [#9] Check where two stringency options are
# `FALSE`: `complete` and `in_order`
expect_true(
small_table %>%
test_col_schema_match(
schema = col_schema(
date = "Date",
date_time = c("POSIXct", "POSIXt"),
c = "numeric",
b = "character",
d = "numeric",
e = "logical"
),
complete = FALSE,
in_order = FALSE
)
)
# [#10] Check where two stringency options are
# `FALSE`: `complete` and `is_exact`
expect_true(
small_table %>%
test_col_schema_match(
schema = col_schema(
date_time = "POSIXt",
date = "Date",
a = "integer",
b = NULL,
c = "numeric",
d = "numeric"
),
complete = FALSE,
is_exact = FALSE
)
)
# [#11] Check where two stringency options are
# `FALSE`: `in_order` and `is_exact`
expect_true(
small_table %>%
test_col_schema_match(
schema = col_schema(
date_time = "POSIXct",
date = "Date",
a = NULL,
b = NULL,
d = "numeric",
c = "numeric",
f = "character",
e = "logical"
),
in_order = FALSE,
is_exact = FALSE
)
)
# [#12] Check where all three stringency options
# are `FALSE`
expect_true(
small_table %>%
test_col_schema_match(
schema = col_schema(
date_time = "POSIXct",
date = "Date",
a = NULL,
b = NULL,
f = "character",
e = "logical"
),
complete = FALSE,
in_order = FALSE,
is_exact = FALSE
)
)
})
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.