# Initialisation --------------------------------------------------------------- set.seed(2031L) # Tests de résultats positifs -------------------------------------------------- testthat::test_that("good result for integer date", { for (year in good_years) { testthat::expect_equal( date_ts2timeunits(date_ts = year, frequency_ts = 12L), year ) for (month in good_months) { testthat::expect_equal( date_ts2timeunits(date_ts = c(year, month), frequency_ts = 12L), year + (month - 1) / 12 ) } } }) testthat::test_that("good result for integer date", { for (year in good_years) { testthat::expect_equal( date_ts2timeunits(date_ts = year, frequency_ts = 4L), year ) for (quarter in good_quarters) { testthat::expect_equal( date_ts2timeunits( date_ts = c(year, quarter), frequency_ts = 4L ), year + (quarter - 1) / 4 ) } } }) # Test de résultat positif avec warnings ---------------------------------- testthat::test_that("warning for integer date", { for (year in good_years) { for (month in warning_integer_months) { testthat::expect_warning( { resTU <- date_ts2timeunits( date_ts = c(year, month), frequency_ts = 12L ) }, regexp = invalid_monthly_period ) testthat::expect_equal(resTU, year + (month - 1) / 12) } } }) testthat::test_that("good result for integer date", { for (year in good_years) { for (quarter in warning_integer_quarters) { testthat::expect_warning( { resTU <- date_ts2timeunits( date_ts = c(year, quarter), frequency_ts = 4L ) }, regexp = invalid_quaterly_period ) testthat::expect_equal(resTU, year + (quarter - 1) / 4) } } }) # Tests de résultats négatifs -------------------------------------------------- testthat::test_that("miscellaneous date are not allowed", { for (wrong_date in list_wrong_date_ts) { testthat::expect_error(date_ts2timeunits( date_ts = wrong_date, frequency_ts = 12L )) } for (wrong_date in list_wrong_date_ts) { testthat::expect_error(date_ts2timeunits( date_ts = wrong_date, frequency_ts = 4L )) } }) testthat::test_that("miscellaneous frequency are not allowed", { for (wrong_frequency in c(object_bank_R, weird_frequency)) { testthat::expect_error(date_ts2timeunits( date_ts = create_random_date_ts(), frequency_ts = wrong_frequency )) } })