File: test-misc.R

package info (click to toggle)
r-cran-quantmod 0.4.28-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 984 kB
  • sloc: makefile: 2
file content (44 lines) | stat: -rw-r--r-- 1,647 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
av.key <- Sys.getenv("QUANTMOD_AV_API_KEY")
tiingo.key <- Sys.getenv("QUANTMOD_TIINGO_API_KEY")
test.web.endpoints <- Sys.getenv("QUANTMOD_TEST_WEB_ENDPOINTS")

if (nzchar(test.web.endpoints)) {
  # should throw an error
  errorKey <- "d116c846835e633aacedb1a31959dd2724cd67b8"
  x <- try(
           quantmod::getSymbols("AAPL", src = "tiingo", data.type = "csv", api.key = errorKey)
           , silent = TRUE)
  expect_inherits(x, "try-error")
  x <- try(
           quantmod::getSymbols("AAPL", src = "tiingo", data.type = "json", api.key = errorKey)
           , silent = TRUE)
  expect_inherits(x, "try-error")

  syms <- c("SPY", "WYSIWYG")
  symstr <- paste(syms, collapse = ";")
  x <- try(getQuote(symstr, src = "yahoo"), silent = TRUE)
  expect_inherits(x, "data.frame")
  expect_true(all(rownames(x) == syms))
  expect_true(!is.na(x["SPY", "Last"]) && is.na(x["WYSIWYG", "Last"]))

  #test batch handling
  x <- getQuote(c("SPY", paste0(LETTERS, 1:199), "IWM"), src = "yahoo")
  expect_inherits(x, "data.frame")
  expect_true(nrow(x) == 201L)

  if (av.key != "") {
    x <- try(getQuote(symstr, src = "av", api.key = av.key), silent = TRUE)
    expect_inherits(x, "data.frame") && all(rownames(x) == syms)
  }
  if (tiingo.key != "") {
    x <- try(getQuote(symstr, src = "tiingo", api.key = tiingo.key), silent = TRUE)
    expect_inherits(x, "data.frame")
    expect_true(all(rownames(x) == syms))
  }

  # ensure symbol order is preserved
  syms <- sample(c("SPY", "TLT", "IWM", "QQQ", "WYSIWYG"))
  x <- try(getQuote(syms, src = "yahoo"), silent = TRUE)
  expect_inherits(x, "data.frame")
  expect_true(all(rownames(x) == syms))
}