tests/testthat/test_input_functions.R

a_example_raw_dataset <- read.csv("Siedlungsbestattungen_ueberblick_for_prep_function.csv")

test_that("prep.life.table excludes the max of the age ranges when agerange = 'excluded'", {
  expect_equal(
    prep.life.table(a_example_raw_dataset,dec="Anzahl.von.Individuum_nr",agebeg = "from", ageend = "to", group = "Geschlecht_kombiniert", agerange = "excluded")$All$x %>% tail(1) %>% as.character(),
    "65--69"
  )
})

test_that("prep.life.table includes the max of the age ranges when agerange = 'included'", {
  expect_equal(
    prep.life.table(a_example_raw_dataset,dec="Anzahl.von.Individuum_nr",agebeg = "from", ageend = "to", group = "Geschlecht_kombiniert", agerange = "included")$All$x %>% tail(1) %>% as.character(),
    "70--74"
  )
})

test_that("prep.life.table imports a data set correct", {
  example_life_table <- prep.life.table(a_example_raw_dataset,dec="Anzahl.von.Individuum_nr",agebeg = "from", ageend = "to", group = "Geschlecht_kombiniert")
  expect_equal(names(example_life_table),c("Unbestimmt", "Weiblich", "Maennlich", "All"))
  expect_equal(colnames(example_life_table[[1]]),c("x", "a", "Dx"))
  expect_equal(round(example_life_table[[1]]$Dx,6),
               c(22.142857, 24.714286, 3.214286, 3.418745, 6.807823, 10.938156, 8.915338, 7.865943, 8.765211, 5.540914, 4.656715, 4.754955, 4.722697, 4.851219, 4.779182, 1.911673))
})

test_that("prep.life.table method standard is default", {
  expect_equal(prep.life.table(a_example_raw_dataset,dec="Anzahl.von.Individuum_nr",agebeg = "from", ageend = "to", group = "Geschlecht_kombiniert"),
               prep.life.table(a_example_raw_dataset,dec="Anzahl.von.Individuum_nr",agebeg = "from", ageend = "to", group = "Geschlecht_kombiniert", method = "Standard"))
})

test_that("prep.life.table works for na dec column", {
  expect_false(prep.life.table(a_example_raw_dataset,dec=NA,agebeg = "from", ageend = "to", group = "Geschlecht_kombiniert")$Unbestimmt$Dx[1] ==
                prep.life.table(a_example_raw_dataset,dec="Anzahl.von.Individuum_nr",agebeg = "from", ageend = "to", group = "Geschlecht_kombiniert")$Unbestimmt$Dx[1])
  expect_equal(round(prep.life.table(a_example_raw_dataset,dec=NA,agebeg = "from", ageend = "to", group = "Geschlecht_kombiniert")$Unbestimmt$Dx[1], 6), 0.571429)
})

test_that("prep.life.table imports a data set correct", {
  example_life_table <- prep.life.table(a_example_raw_dataset,dec="Anzahl.von.Individuum_nr",agebeg = "from", ageend = "to")
  expect_equal(names(example_life_table),
               "Deceased")
})

test_that("prep.life.table method Equal5 produced age intervalls all equal 5", {
  expect_true(
    all(prep.life.table(a_example_raw_dataset,dec="Anzahl.von.Individuum_nr",agebeg = "from", ageend = "to", method="Equal5")[[1]]$a==5)
  )
})

test_that("prep.life.table method 3 produced age intervalls all equal 3", {
  expect_true(
    all(prep.life.table(a_example_raw_dataset,dec="Anzahl.von.Individuum_nr",agebeg = "from", ageend = "to", method=3)[[1]]$a==3)
  )
})

test_that("prep.life.table method vector produced age intervalls equal to the vector", {
  age_vec <- c(2,3,4,5,6,7)
  expect_equal(
    prep.life.table(a_example_raw_dataset,dec="Anzahl.von.Individuum_nr",agebeg = "from", ageend = "to", method=age_vec)[[1]]$a,
    age_vec
  )
})

test_that("%+0% replace NA with 0 and sum values", {
  left <- c(NA, 10, 10)
  right <- c(1, NA, 1)
  expect_equal(left %+0% right, c(1, 10, 11))
  expect_equal(left[1] %+0% right[2], 0 )
  })

Try the mortAAR package in your browser

Any scripts or data that you put into this service are public.

mortAAR documentation built on Aug. 28, 2023, 1:06 a.m.