tests/testthat/test-cnbfxrate.R

library(dplyr)

test_that("expected input failures", {

  skip_on_cran()

  expect_error(cnbfxrate("asdf")) # není datum
})

test_that("network failures", {

  skip_on_cran()

  Sys.setenv("CNB_UP" = FALSE)
  expect_message(cnbfxrate(), "source") # zpráva o spadlé ČNB
  Sys.setenv("CNB_UP" = TRUE)

})

test_that("data format", {

  skip_on_cran()

  expect_true(is.data.frame(cnbfxrate()))
  expect_gt(nrow(cnbfxrate(date = as.Date("2020-04-01"), "ALL")), 1) # všechny měny explicitně
  expect_gt(nrow(cnbfxrate(date = as.Date("2020-04-01"))), 1) # všechny měny implicitně
  expect_equal(nrow(cnbfxrate(as.Date("2020-04-01"), "EUR")), 1) # jednen datum, jedno ojro
  expect_equal(nrow(cnbfxrate(as.Date(c("2020-04-01", "2020-04-02")) , "EUR")), 2) # dva datumy, dvě ojra
  expect_equal(nrow(cnbfxrate(seq(from = as.Date("2020-12-31"),
                                  to = as.Date("2021-01-04"),
                                  by = 1) , "EUR")), 2) # dva pracovní datumy, dvě ojra
  expect_equal(nrow(cnbfxrate(seq(from = as.Date("2005-01-01"),
                                  to = as.Date("2005-12-31"),
                                  by = 1) , "EUR")), 253) # celý rok = 253 záznamů (+3 hlavičky)
})

test_that("known values", {

  skip_on_cran()

  expect_equal(cnbfxrate(as.Date("2020-04-01"), "EUR")$rate, 27.380)
  expect_equal(cnbfxrate(as.Date("2020-04-01"), "ILS")$rate, 7.019)
})

Try the czechrates package in your browser

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

czechrates documentation built on May 29, 2024, 5:21 a.m.