tests/testthat/test-metadata_create.R

test_survey <- read_rds (
  file = system.file("examples", "ZA7576.rds",
                     package = "retroharmonize")
)

examples_dir <- system.file( "examples", package = "retroharmonize")

my_rds_files <- dir( examples_dir)[grepl(".rds", 
                                         dir(examples_dir))]

example_surveys <- read_surveys(file.path(examples_dir, my_rds_files))

test_that("Only surveys are accepted", {
  expect_error(metadata_survey_create ( data.frame ( a = 1:2, 
                                        b = c("b", "C"))))
  })

example_metadata <- metadata_survey_create (
 survey = test_survey
)

q_labels <- length(labelled::val_labels ( test_survey$qd6.12))
q_na     <- length(labelled::na_values  ( test_survey$qd6.12))

test_value <- example_metadata[which ( example_metadata$var_name_orig == "qd6.12"), ]
q_labels-q_na

test_value2 <- example_metadata[which ( example_metadata$var_name_orig == "qg8"), ]

test_that("Correct values are returned", {
  expect_equal(ncol(example_metadata),12)
  expect_true(example_metadata$var_name_orig[1] == "rowid")
  expect_equal(unique(example_metadata$filename), "ZA7576.rds")
  expect_equal(as.character(unlist(example_metadata$na_labels[2])), NA_character_)
  expect_equal(example_metadata$var_label_orig[1], "unique_identifier_in_za_7576")
  expect_equal(
    length(test_value$na_labels), 
    q_na)
  expect_equal(
    test_value$n_valid_labels, 
    q_labels-q_na)
  expect_equal(example_metadata$var_name_orig[1], "rowid")
  expect_equal(c(
    length(test_value2$labels[[1]]), 
    length(test_value2$valid_labels[[1]]),
    length(test_value2$na_labels[[1]])
  ), c(8,6,2))
})

metadata_multiple_surveys <- metadata_create( example_surveys )

test_that("Correct values are returned from waves", {
  expect_true(metadata_multiple_surveys$var_name_orig[1] == "rowid") 
  })
antaldaniel/retroharmonize documentation built on Dec. 11, 2023, 10:49 p.m.