tests/testthat/test-datamodel-constructors.R

## dm_poibin --------------------------------------------------------------

test_that("'dm_poibin' creates object of class 'dm_poibin", {
    data <- fake_classif_vars(n_region = 2)
    data$count <- seq_len(nrow(data))
    ans <- dm_poibin(data = data,
                     prob = 0.95,
                     nm_series = "immigration1",
                     nm_data = "reg_immig")
    expect_s3_class(ans, c("dm_poibin", "datamodel"))
})

test_that("'dm_poibin' creates 'nm_data' when not supplied", {
    data <- fake_classif_vars(n_region = 2)
    data$count <- seq_len(nrow(data))
    ans <- dm_poibin(data = data,
                     prob = 0.95,
                     nm_series = "immigration1")
    expect_s3_class(ans, c("dm_poibin", "datamodel"))
    expect_identical(ans$nm_data, "data")
})



## new_dm_poibin --------------------------------------------------------------

test_that("'new_dm_poibin' creates object of class 'dm_poibin", {
    data <- fake_classif_vars(n_region = 2)
    data$count <- seq_len(nrow(data))
    ans <- new_dm_poibin(data = data,
                         prob = 0.95,
                         nm_series = "immigration1",
                         nm_data = "reg_immig")
    expect_s3_class(ans, c("dm_poibin", "datamodel"))
})


## validate_dm_poibin ---------------------------------------------------------

test_that("'valid_dm_poibin' returns object when object is valid", {
    data <- fake_classif_vars(n_region = 2)
    data$count <- seq_len(nrow(data))
    x <- dm_poibin(data = data,
                   prob = 0.95,
                   nm_series = "immigration1")
    expect_identical(validate_dm_poibin(x),
                     x)
})


## dm_exact --------------------------------------------------------------

test_that("'dm_exact' creates object of class 'dm_exact", {
    data <- fake_classif_vars(n_region = 2)
    data$count <- seq_len(nrow(data))
    ans <- dm_exact(data = data,
                     nm_series = "births",
                     nm_data = "reg_births")
    expect_s3_class(ans, c("dm_exact", "datamodel"))
})

test_that("'dm_exact' creates 'nm_data' when not supplied", {
    data <- fake_classif_vars(n_region = 2)
    data$count <- seq_len(nrow(data))
    ans <- dm_exact(data = data,
                     nm_series = "deaths")
    expect_s3_class(ans, c("dm_exact", "datamodel"))
    expect_identical(ans$nm_data, "data")
})



## new_dm_exact --------------------------------------------------------------

test_that("'new_dm_exact' creates object of class 'dm_exact", {
    data <- fake_classif_vars(n_region = 2)
    data$count <- seq_len(nrow(data))
    ans <- new_dm_exact(data = data,
                         nm_series = "births",
                         nm_data = "reg_births")
    expect_s3_class(ans, c("dm_exact", "datamodel"))
})


## validate_dm_exact ---------------------------------------------------------

test_that("'valid_dm_exact' returns object when object is valid", {
    data <- fake_classif_vars(n_region = 2)
    data$count <- seq_len(nrow(data))
    x <- dm_exact(data = data,
                   nm_series = "deaths")
    expect_identical(validate_dm_exact(x),
                     x)
})
ONSdigital/Bayesian-demographic-accounts documentation built on Jan. 10, 2022, 12:34 a.m.