tests/testthat/test-enw_metadata.R

test_that("enw_metadata works as expected", {
  obs <- data.frame(
    reference_date = as.Date("2021-01-01"),
    report_date = as.Date("2022-01-01"),
    x = 1:10
  )
  expect_identical(
    enw_metadata(obs, target_date = "reference_date"),
    data.table::setkeyv(
      data.table::data.table(
        date = as.Date("2021-01-01"), .group = 1, x = 1L
      ),
      c(".group", "date")
    )
  )
})

test_that(
  "enw_metadata works as expected when a grouping variable is present",
  {
    obs <- data.frame(
      reference_date = as.Date("2021-01-01"),
      report_date = as.Date("2022-01-01"),
      x = 1:10,
      .group = 2
    )
    expect_identical(
      enw_metadata(obs, target_date = "reference_date"),
      data.table::setkeyv(
        data.table::data.table(
          date = as.Date("2021-01-01"), .group = 2, x = 1L
        ),
        c(".group", "date")
      )
    )
  }
)

test_that("enw_metadata works as expected to summarise report_date metadata", {
  obs <- data.frame(
    reference_date = as.Date("2021-01-01"),
    report_date = as.Date("2022-01-01"),
    x = 1:10, y = 1:10
  )
  expect_identical(
    enw_metadata(obs, target_date = "report_date"),
    data.table::setkeyv(
      data.table::data.table(
        date = as.Date("2022-01-01"), .group = 1, x = 1L, y = 1L
      ),
      c(".group", "date")
    )
  )
})
epiforecasts/epinowcast documentation built on Feb. 3, 2025, 4:17 p.m.